查询的记录数付给一个变量select count(*) from Employees这个结果是4条记录。
我怎么把这个结果存在一个变时里面需要用DataSet或DataTable吗?在网上查了,有的说要用存储过程,可我不懂为啥这一条语句一定要用存储过程呢?

解决方案 »

  1.   

    ExecuteScalar用个int 或者string 就行了public static int ExecuteScalar(string cmdtext, SqlParameter[] para, CommandType ct)
            {
                int value;
                try
                {
                    cmd = new SqlCommand(cmdtext, GetConn());
                    cmd.CommandType = ct;
                    cmd.Parameters.AddRange(para);
                    value = Convert.ToInt32(cmd.ExecuteScalar());
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (cn.State == ConnectionState.Open)
                    {
                        cn.Close();
                    }
                }
                return value;
            }
      

  2.   

    value = Convert.ToInt32(cmd.ExecuteScalar());
    取到值了,注意cmd.ExecuteScalar()是返回object
    这里有Count(*)函数,默认值为零。如果直接是某个字段,有可能为null