select count不返回sql表中实际的记录总数

时间:2014-08-21 09:14:31

标签: sql

我想计算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();

有人能指出我的问题在哪里?谢谢

1 个答案:

答案 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();
相关问题