簡體   English   中英

我有兩個輸入參數和一個輸出參數,如何使用存儲過程在網格視圖中顯示數據?

[英]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();
        }
    }
}

我知道這是錯誤的代碼,但是如何將這兩個輸入參數發送到存儲過程?

自動填充將GridView綁定到動態DataTable

您還可以通過實現“使用”塊來丟失手動處理,例如:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM