2011-12-29 41 views
1

如何爲具有輸出參數的存儲過程創建公共DAL層方法。存儲過程DAL

當存儲過程具有輸出參數時,您將無法檢索數據集或數據讀取器中的結果作爲集合。請告訴我哪種方法是通用方法接受任何輸入和輸出參數以及從輸出參數返回值的最佳方法。

回答

1

類似的東西:

public static void DalWrapper(int id, string str, out int resultid, out string resultstring) 
{ 
    * call the SP passing id and str 
    * assign resulting values to resultid and resultstring 
} 

根據需要out可更改爲ref

1

您可以使用E xecuteNonQuery和獲取參數

using (SqlConnection conn = new SqlConnection())  
{ 
    SqlCommand cmd = new SqlCommand("sp", conn); cmd.CommandType = CommandType.StoredProcedure; 

    cmd.Parameters.Add(new SqlParameter("@param", SqlDbType.Int, int.MaxValue, ParameterDirection.Output)); 

    conn.Open(); 
    cmd.ExecuteNonQuery(); 
    int id = cmd.Parameters["@param"].Value; 

    conn.Close();  
}