我想计算sql表中记录的总数,但是代码返回不同的值,例如表中存在的记录是14但是返回1。 这是我的代码:
DBConn dbConn = new DBConn();
SqlConnection connObj = dbConn.getConnObj();
SqlCommand cmd = new SqlCommand("select count (*) from dbo.[tbl_users]");
SqlDataAdapter ap = new SqlDataAdapter(cmd.CommandText,connObj);
DataSet ds = new DataSet();
connObj.Open();
ap.Fill(ds);
lbltotal.Text = ds.Tables[0].Rows.Count.ToString();
connObj.Close();
有人能指出我的问题在哪里?谢谢
答案 0 :(得分:1)
是Row.Count
将返回1,因为在count
中单行返回Dataset
值。
所以你把行数计算为1
试试这个
DBConn dbConn = new DBConn();
SqlConnection connObj = dbConn.getConnObj();
SqlCommand cmd = new SqlCommand("select count (*) from dbo.[tbl_users]",connObj);
connObj.Open();
lbltotal.Text = (string) cmd.ExecuteScalar();
connObj.Close();
或
试试这个
DBConn dbConn = new DBConn();
SqlConnection connObj = dbConn.getConnObj();
SqlCommand cmd = new SqlCommand("select count (*) from dbo.[tbl_users]");
SqlDataAdapter ap = new SqlDataAdapter(cmd.CommandText,connObj);
DataSet ds = new DataSet();
connObj.Open();
ap.Fill(ds);
lbltotal.Text = ds.Tables[0].Rows[0].ToString();
connObj.Close();