如何使用带返回值的参数(即OUT 参数)的存储过程

解决方案 »

  1.   

    out int nFlat;
    SqlConnection _conn;
    SqlCommand _comm;
    try
    {
       _comm.CommandType = CommandType.StoredProcedure;
       _comm.Parameters.Add( "@flag", SqlDbType.Int ).Direction 
                                                 =  ParameterDirection.Output;
       _comm.ExecuteNonQuery();   nFlat = Convert.ToInt32( _comm.Parameters["@flag"].Value.ToString() );}
    catch( Exception Message )
    {
        Response.Write( Message.ToString() );
    }
      

  2.   

    public static DataSet GetList(int page_num,int row_in_page,string order_column,string comb_condition,ref int output)
    {            
                string sql="tp_Fetch_List";
                System.Data.SqlClient.SqlParameter[] p=new SqlParameter[5];
                
                p[0]=new SqlParameter();
                p[0].ParameterName ="@page_num";
                p[0].Value =page_num;
                p[0].DbType=System.Data.DbType.Int32;            p[1]=new SqlParameter();
                p[1].ParameterName ="@row_in_page";
                p[1].Value =row_in_page;
                p[1].DbType=System.Data.DbType.Int32;            p[2]=new SqlParameter();
                p[2].ParameterName ="@order_column";
                p[2].Value =order_column;
                p[2].DbType=System.Data.DbType.String;            p[3]=new SqlParameter();
                p[3].ParameterName ="@row_total";
                p[3].Direction=System.Data.ParameterDirection.Output;
                p[3].DbType=System.Data.DbType.Int32;            p[4]=new SqlParameter();
                p[4].ParameterName ="@comb_condition";
                p[4].Value =comb_condition;
                p[4].DbType=System.Data.DbType.String;
                DataSet ds=ExecSPDataSet(sql,p);
                if (p[3].Value!=DBNull.Value  && p[3].Value.ToString()!=string.Empty )
                    output=Convert.ToInt32(p[3].Value);
                return ds;                
    }