存储过程:
CREATE PROCEDURE Nameexist
@in_name NVarChar(20),
@out_name NVarChar(20) output
 AS
select @out_name=area from elementaryinfo where father=@in_name
RETURN
GOasp.net/c#
string strcon=ConfigurationSettings.AppSettings["sjk"];
SqlConnection mycon=new SqlConnection(strcon);
SqlCommand dbcomm=new SqlCommand("nameexist",mycon);
dbcomm.CommandType=CommandType.StoredProcedure;
SqlParameter objparam=new SqlParameter("@father",SqlDbType.NVarChar,20);
dbcomm.Parameters.Add(objparam);
objparam.Direction=ParameterDirection.Input;
objparam.Value="130200";
SqlParameter objparam2=new SqlParameter("@existname",SqlDbType.NVarChar,20);
dbcomm.Parameters.Add(objparam2);
objparam2.Direction=ParameterDirection.Output;
mycon.Open();
dbcomm.ExecuteReader();
foreach(Parameter xx in dbcomm.Parameters["@existname"])
{

}
现在怎么用foreach遍历返回的Parameters呢

解决方案 »

  1.   

    SqlCommand command = new SqlCommand();
    ...
      prams是一个已赋值的SqlParameter 
    ...foreach (SqlParameter parameter in prams) command.Parameters.Add(parameter);
      

  2.   

    人呢 
    各位我还想知道 如果在存储过程中写“select * from 表” 那我在asp.net我怎么接受这个"dataset"呢  不好意思 我对数据库这方面了解不多  先谢谢各位了
      

  3.   

    将返回的数据保存到DataSetpublic DataSet SelectDataBase(SqlCommand cmd){ ds = new DataSet(); this.SQLOpen();
    dataAdapter = new SqlDataAdapter();
    dataAdapter.SelectCommand.Connection = conn;
    dataAdapter.SelectCommand = cmd;
    this.SQLClose(); dataAdapter.Fill(ds); //this.Dispose(); return ds;
    }
      

  4.   

    1。通过parameter.direction 判断 ,返回的结果
      

  5.   

    用foreach遍历,在遍历的过程中用Direction判断。
      

  6.   

    foreach(Parameter xx in dbcomm.Parameters["@existname"])
    {
        if(xx.Direction=ParameterDirection.Ouput)
        {
               这个就是你要的参数了
         }

    }
      

  7.   

    foreach(Parameter xx in dbcomm.Parameters["@existname"])
    这句就包错
      

  8.   

    foreach(Parameter xx in dbcomm.Parameters)
    {
        if(xx.Direction=ParameterDirection.Ouput)
        {
               这个就是你要的参数了
         }

    }
      

  9.   

    dbcomm.Parameters[1]可能就是结果
      

  10.   

    if (ps[i].Direction == ParameterDirection.Output)
    {
    cmd.Parameters.Add(new SqlParameter(ps[i].ParameterName,ps[i].SqlDbType,4,ParameterDirection.Output, false, 0, 0,string.Empty, DataRowVersion.Default, null));
    //返回值的参数
    alPs.Add(ps[i].ParameterName.ToString());
    }