SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TMKConnectionString"].ConnectionString);  //建立连接实例
        string SQLStr = string.Format("select UserName,Password from users");  //SQL字符串
        SqlCommand Comm = new SqlCommand(SQLStr,conn);  //建立查询命令
        conn.Open();
        Label2.Text = Comm.ExecuteScalar().ToString();//我在网上看到用这个方法,但我这样做后,返回的字符串居然是第一条记录的第一个字段的值。而我想要的结果是得到select UserName,Password from users有多少条记录。

解决方案 »

  1.   

    ExecuteScalar :返回第一列,第一行的数据。   
    第一列第一行不为空,那么ExecuteScalar就直接对应的值。   
    有第一行,但是第一列为空,那么返回的是 DBNull 。
    一行都没有,那么ExecuteScalar就返回null  
    ExecuteNonQuery():执行SQL,返回一个整型变量,如果SQL是对数据库的记录进行操作,那么返回操作影响的记录条数
      

  2.   

    select count(*) from users
      

  3.   

    或使用sqldataadapter到dataset
    ds.Tables[0].Rows.Count
      

  4.   

    错了  不应该是ExecuteNonQuery()
     string SQLStr = string.Format("select count(1) from users");  //SQL字符串这样就返回你要的记录条数了
      

  5.   

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TMKConnectionString"].ConnectionString);  string SQLStr = string.Format("select UserName,Password from users");DataSet ds = new DataSet();        
    SqlDataAdapter myDa = new SqlDataAdapter(SQLStr , myCon);
    myDa.Fill(ds);
    DataTable dt = ds.Tables[0].DefaultView;
    for (int i = 0; i < tb.Rows.Count; i++)
    {
       .....//获取所有字段的所有记录。如UserName 用 tb.Rows[i][0].ToString()
    }
      

  6.   

     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TMKConnectionString"].ConnectionString);  //建立连接实例
            string SQLStr = string.Format("select count(*) from users");  //SQL字符串
            SqlCommand Comm = new SqlCommand(SQLStr,conn);  //建立查询命令
            conn.Open();
            Label2.Text = Comm.ExecuteScalar().ToString();//我在网上看到用这个方法,但我这样做后,返回的字符串居然是第一条记录的第一个字段的值。而我想要的
      

  7.   

    Select Count(*) from ....
      

  8.   

    SqlDataAdapter放入DataSet中
    ds.Tables[0].Rows.Cound