0
我正在使用帶有3個輸入參數和許多輸出參數的存儲過程使用Oracle.Data.Client庫調用Oracle數據庫。避免大量的代碼來處理Oracle查詢中的參數
我的代碼如下所示:
DataTable dt = new DataTable();
OracleConnection connection = new OracleConnection(connectionString);
using (connection)
{
OracleDataAdapter da = new OracleDataAdapter();
OracleCommand cmd = new OracleCommand();
cmd.Connection = connection;
cmd.CommandText = "storedProcedureName";
cmd.CommandType = CommandType.StoredProcedure;
cmd.InitialLONGFetchSize = 1000;
cmd.Parameters.Add("@arg1", arg1);
cmd.Parameters.Add("@arg2", arg2);
cmd.Parameters.Add("@arg3", arg3);
da.SelectCommand = cmd;
da.Fill(dt);
}
當我執行這個代碼,甲骨文抱怨沒有足夠的論據。我已經確定,它希望我把爲每個輸出參數一些代碼,以及像這樣:
cmd.Parameters.Add("@out1", out1);
cmd.Parameters["@out1"].Direction = ParameterDirection.Output;
但是,這很難說是優雅的,尤其是當我與每一個輸出參數做到這一點(有很多)。有沒有辦法一次處理所有的輸出參數?理想情況下,我希望保持存儲過程相同,因爲它也用於其他項目。