Oracle存储过程的相关参数的介绍


  本文标签:Oracle存储过程

  以下的文章主要是涉及Oracle存储过程的相关参数的介绍,其中 前三个函数是输入参数,后3个函数是输出参数,对Oracle存储过程的相关参数的相关实际应用不是很了解的话,以下的文章会给你提供相关的知识  。

  

  1. Help.cs:  
  2. public static DataTable ReturnDataTable(int index,string sql,int pageSize)  
  3. {   
  4. DataTable dt = new DataTable();  
  5. try  
  6. {   
  7. OracleParameter []param=new OracleParameter 
    []{new OracleParameter("Pindex",OracleType.Number),
    new OracleParameter("Psql",OracleType.VarChar),
    new OracleParameter("Psize",OracleType.Number),
    new OracleParameter("Pcount",OracleType.Number),
    new OracleParameter("Prowcount",OracleType.Number),
    new OracleParameter("v_cur",OracleType.Cursor)};  
  8. param[0].Value = index;  
  9. param[1].Value = sql;  
  10. param[2].Value = pageSize;  
  11. param[0].Direction = ParameterDirection.Input;  
  12. param[1].Direction = ParameterDirection.Input;  
  13. param[2].Direction = ParameterDirection.Input;  
  14. param[3].Direction = ParameterDirection.Output;  
  15. param[4].Direction = ParameterDirection.Output;  
  16. param[5].Direction = ParameterDirection.Output;   
  17. dtOracleHelper.ReturnDataTable(OracleHelper.dbCon, 
    CommandType.StoredProcedure, "JT_P_page.Pagination", param);  
  18. Help._rowCount = int.Parse(param[4].Value.ToString());   
  19. }  
  20. catch (OracleException on)  
  21. {  
  22. throw on;   
  23. }   
  24. return dt;  
  25. }   

  

  注意一下再调用的时候 参数名必须和Oracle存储过程中的参数保持一致 否则可能会报错 例如:new OracleParameter("Pindex",OracleType.Number) 中的 Pindex 和存储过程procedure Pagination (Pindex in number 中的一样,Aspnetpage作为一个第三方控件,直接从网上下载后 在VS2005工具栏里把.dll导进去 就可以拿来用了 前台页面Update_Agent.aspx.cs里:

  

  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3. if (!IsPostBack)  
  4. {  
  5. BindGridView(0, "union_view", _pageSize);   
  6. AspNetPager1.RecordCount = (Help._rowCount >= 0) ? Help._rowCount : 0;   
  7. }   
  8. }  
  9. private void BindGridView(int index, string sql, int pageSize)  
  10. {  
  11. DataTable dt;  
  12. if (sql != "")  
  13. {  
  14. ViewState["IsProcedure"] = "yes";  
  15. dt = Help.ReturnDataTable(index, sql, pageSize);  
  16. }  
  17. else  
  18. {  
  19. ViewState["IsProcedure"] = "no";  
  20. dt = Help.ReturnDataTableByCondition
    (dateinput.Value, dateinput2.Value, 
    orderID.Value.Trim(), dgWay.SelectedValue, 
    AspNetPager1.CurrentPageIndex - 1, AspNetPager1.PageSize);  
  21. }  
  22. iagentView.DataSource = dt;  
  23. DataBind();  
  24. AspNetPager1.RecordCount = (sql!="")?Help._rowCount:
    Help.ReturnRows(dateinput.Value, dateinput2.Value, 
    orderID.Value.Trim(), dgWay.SelectedValue);  
  25. AspNetPager1.PageSize = pageSize;  

  以上的相关内容就是对Oracle存储过程有相关参数的部分介绍,望你能有所收获  。