如何从存储过程中获取多行?

Moh*_*ofi 0 c# sql ado.net stored-procedures

我有一种方法可以为数据库添加值以进行所有操作.

如果从数据库中选择了此选项并且此选择从数据库返回更多行,那么如何获取行并存储在数组中?

这是方法代码:

public void ExcuteProcedure(string procName, List<SqlParameter> procparams)
{
            try
            {
                SqlConnection mycon = new SqlConnection(connectionString);
                mycon.Open();
                SqlCommand mycom = new SqlCommand();
                mycom.Connection = mycon;
                mycom.CommandText = procName;
                mycom.CommandType = CommandType.StoredProcedure;
                foreach (var item in procparams)
                {
                    SqlParameter myparm = new SqlParameter();
                    myparm.ParameterName = item.ParameterName;
                  //  myparm.SqlDbType = item.SqlDbType;
                    myparm.Value = item.Value;
                    mycom.Parameters.Add(myparm);
                }
              var n= mycom.ExecuteScalar();

                mycon.Close();
            }
            catch (SqlException e)
            {
                Console.WriteLine("Error Number is : " + e.Number);
                Console.WriteLine("Error Message is : " + e.Message);
            }
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 7

你需要打电话mycom.ExecuteReader(),这将给你一个SqlDataReader可以读取结果的.

呼吁Read()通过行前进.