da.SelectCommand = cmd;
da.Fill(ds);
dataGrid.DataSource = ds;
里面的cmd是调用的有输出的存储过程,我如何得到里面的输出参数呢?
难道要调用两次?
cmd.ExecuteNonQuery();
TotalPage = Convert.ToInt32(cmd.Parameters["@Rows"].Value);da.SelectCommand = cmd;
da.Fill(ds);
dataGrid.DataSource = ds;

解决方案 »

  1.   

    SqlCommand insertOrderComm = new SqlCommand("AddOrder",_conn);insertOrderComm.CommandType = CommandType.StoredProcedure;insertOrderComm.Parameters.Add("@OrderID",SqlDbType.Int,4,"OrderID");insertOrderComm.Parameters["@OrderID"].Direction = ParameterDirection.Output;insertOrderComm.Parameters.Add("@OrderDate",SqlDbType.DateTime,8,"OrderDate");insertOrderComm.Parameters.Add("@CustomerID",SqlDbType.NChar,5,"CustomerID");具体例子可以看,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

  2.   

    public int getNum()
    {
    SqlCommand command=new SqlCommand();
    command.CommandText="sp_newProc1";
    command.Connection=conn;
    command.CommandType=CommandType.StoredProcedure;
    SqlParameter rtva=command.Parameters.Add("rval",SqlDbType.Int);
    rtva.Direction=ParameterDirection.ReturnValue;
    command.ExecuteNonQuery();
    return (int)rtva.Value;
    }