我现在是用这个方法,但感觉过于繁琐,有没有什么简单而且快捷的方法呢?
SqlDataReader sqlDataReader_temp = sqlCmd.ExecuteReader();
for(int k=0;;k++)
{
if(sqlDataReader_temp.Read ()==false)
break;
recordTotal++;
}
sqlDataReader_temp.Close ();

解决方案 »

  1.   

    先 SELECT count(*) from a
    再 SELECT * from a
      

  2.   

    先用 SELECT count(*) from a
    再用 sqlCmd.ExecuteScalar() 方法 
      

  3.   

    续:
    典型的 ExecuteScalar 查询可以采用类似于下面的 C# 示例的格式:
    cmd.CommandText = "select count(*) from region";
    Int32 count = (int32) cmd.ExecuteScalar();
      

  4.   

    cmd.CommandText = "select count(*) from table"
    ada.fill(dataset)
    x=dataset.tables[0].rows.count
      

  5.   

    建议先用 select connt(*) from table  查询到记录的数量,无需从数据库中调入明细记录,犹其在有大量记录时可以节省不少时间.
      

  6.   

    select count(yourfield) from table
    if(dr.Read())
    {
    int a=dr.GetInt32(0);
    }
      

  7.   

    如果有用到dataset的话用里面的count方法也能得到
      

  8.   

    问题不明确,单纯的想知道的话,SELECT count(*) from
    已经使用了DataSet用dataset.tables[0].rows.count
      

  9.   

    楼主,不可能不行的!!!你连接没有打开吧?
    我根据你的第一段代码,写了以下代码,假设你的连接就是sqlConn,语句没错的话!
    SqlCommand sqlCmd = new SqlCommand("SELECT count(*) from a", sqlConn);
    sqlConn.Open();
    int count = (int) sqlCmd.ExecuteScalar();
    MessageBox.Show(count.ToString());
    sqlConn.Close();