我创建了以下方法,之前stock1Label to stock3Label能够从数据库输出正确的值但是在我向ProductsTable添加更多行之后,source.Rows [0] [0],[1] [0]等似乎从我的桌子的第8行开始而不是第1行取值,有谁知道为什么会这样?
private void UpdateStocks()
{
string query = "SELECT pQty FROM ProductsTable";
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, DBconn);
DataTable source = new DataTable();
dAdapter.Fill(source);
stock1Label.Text = source.Rows[0][0].ToString();
stock2Label.Text = source.Rows[1][0].ToString();
stock3Label.Text = source.Rows[2][0].ToString();
stock4Label.Text = source.Rows[3][0].ToString();
stock5Label.Text = source.Rows[4][0].ToString();
stock6Label.Text = source.Rows[5][0].ToString();
}
答案 0 :(得分:2)
大多数(全部?)数据库系统没有已定义的订单 您将收到非确定存储顺序的行,而不是按照您插入它们的顺序。
要获得有意义的一致排序,您需要添加ORDER BY
子句。