程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle存儲過程的相關參數的介紹

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;  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved