OleDB数据无法从正确的行读取

时间:2012-02-05 05:33:24

标签: c# ms-access oledb

我创建了以下方法,之前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();
    }

1 个答案:

答案 0 :(得分:2)

大多数(全部?)数据库系统没有已定义的订单 您将收到非确定存储顺序的行,而不是按照您插入它们的顺序。

要获得有意义的一致排序,您需要添加ORDER BY子句。