我得存储过程有1个输入值,和一个输出值(@in,@out)在C#BS中给一个输入值,想得到一个输出值,怎么引用出来啊!
......
Cmd.CommandType = CommandType.StoredProcedure;
SqlParameter input = new SqlParameter("@in",SqlDbType.Int,10);
input.Value = this.TextBox1.Text.Trim();
Cmd.Parameters.Add(input);
Cmd.ExecuteNonQuery();
.....
输出的部分怎么引用阿,给它附给一个string 上!
谢谢

解决方案 »

  1.   

    给你个例子,如下:
    cmd.CommandType=CommandType.StoredProcedure;
    getnumcmd.Parameters.Add("@proxyid",proxyid);
    string xml=getnumcmd.ExecuteScalar().ToString();
    int devnum=WebCallClass.LoadAmountFromXml(xml,pd.SelectedValue);
    cmd.Parameters.Add("@stime",dt);
    cmd.Parameters.Add("@protable",table);
    cmd.Parameters.Add("@allottable",allottable);
    cmd.Parameters.Add("@proxyid",proxyid);
    cmd.Parameters.Add("@devnum",devnum);
    SqlParameter prm=new SqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,
    0,0,String.Empty,DataRowVersion.Default,null);
    cmd.Parameters.Add(prm);
    cmd.ExecuteNonQuery();
    int allowednum=(int)(prm.Value);其中,prm用户获取返回值,重要的参数ParameterDirection.ReturnValue
      

  2.   

    输入参数
    SqlParameter Param_UserID = new SqlParameter("@UserID",SqlDbType.Int,4);
    Param_UserID.Direction = ParameterDirection.Input;
    Param_UserID.Value = p_UserID;
    输出参数
    SqlParameter Param_RecordCount = new SqlParameter("@Count",SqlDbType.Int,4);
    Param_RecordCount.Direction = ParameterDirection.Output;调用存储过程
    ....取返回值
    p_RecordCount = Convert.ToInt32(Param_RecordCount.Value);