DataTable行计数始终返回1

mo *_*laz 2 c# datatable ms-access

我试图使用数据适配器获取表的总行数,但我的行计数总是返回1.当我使用阅读器时,我得到准确的数字.我想使用dataAdapter.

这是我的代码:

public double GetRowNumber()
    {
        using (OleDbConnection con = new OleDbConnection(someConnectionString))
        {
            con.Open();
       String cmdString = "SELECT COUNT (*) FROM " + "[" + Table +"]" 

            OleDbDataAdapter db = new OleDbDataAdapter(cmdString, dbConn);
            DataTable dt = new DataTable();
            db.Fill(dt);
            return dt.Rows.Count;

        }
    }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

kos*_*ch. 6

您的函数将始终返回1,因为

SELECT COUNT (*) FROM " 
Run Code Online (Sandbox Code Playgroud)

语句将用1条记录,计数数填充你的数据表.

如果要使用行计数

   con.Open();
   String cmdString = "SELECT COUNT (*) FROM " + "[" + Table +"]" 
   OleDbCommand cmd = new OleDbCommand();
   cmd.Text = cmdString ;
   cmd.Connection = con;
   int count = Convert.ToInt32(cmd.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)

更快捷,更轻松,满足您的需求.您不必使用像datatable这样的对象.