![](/img/trans.png)
[英]I call a Stored procedure with 2 parameters (input and output) from C# but value of output parameter does not show
[英]I have two input and one output parameter, how can I show data in grid view using a stored procedure?
程序名稱: AGENCY_STATE_REPORT
輸入:
(frm_date date,
to_date1 date)
輸出;
p_cur out SYS_REFCURSOR
我的C#代碼:
public DataTable retdt1(string frmdate,string todate)
{
try
{
// Logfile("retdt", query);
con.Open();
if (con.State == ConnectionState.Open)
{
objCmd = new OracleCommand();
objCmd.CommandText = "AGENCY_STATE_REPORT ";
objCmd.CommandType = CommandType.StoredProcedure;
objCmd.Parameters.Add("@frm_date",OracleDbType.Date).Value=frmdate;
objCmd.Parameters.Add("to_date1", OracleDbType.Date).Value = todate;
objCmd.Parameters["@ p_cur"].Direction = ParameterDirection.Output;
dap = new OracleDataAdapter(objCmd);
dt = new DataTable();
dap.Fill(dt);
if (dt.Rows.Count > 0)
{
return dt;
}
}
return null;
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
throw ex;
}
finally
{
if (con != null)
if (con.State != ConnectionState.Closed)
con.Close();
if (objCmd != null)
{
objCmd.Dispose();
dap.Dispose();
dt.Dispose();
}
}
}
我知道這是錯誤的代碼,但是如何將這兩個輸入參數發送到存儲過程?
您還可以通過實現“使用”塊來丟失手動處理,例如:
using (var cnn = new SqlConnection(WebConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString))
{
cnn.Open();
using (var cmd = new SqlCommand(sql.ToString(), cnn))
{
cmd.CommandType = System.Data.CommandType.Text;
cmd.ExecuteNonQuery();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.