以下的文章主要是涉及Oracle存储过程的相关参数的介绍,其中 前三个函数是输入参数,后3个函数是输出参数,对Oracle存储过程的相关参数的相关实际应用不是很了解的话,以下的文章会给你提供相关的知识。
- Help.cs:
- public static DataTable ReturnDataTable(int index,string sql,int pageSize)
- {
- DataTable dt = new DataTable();
- try
- {
- 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)};- param[0].Value = index;
- param[1].Value = sql;
- param[2].Value = pageSize;
- param[0].Direction = ParameterDirection.Input;
- param[1].Direction = ParameterDirection.Input;
- param[2].Direction = ParameterDirection.Input;
- param[3].Direction = ParameterDirection.Output;
- param[4].Direction = ParameterDirection.Output;
- param[5].Direction = ParameterDirection.Output;
- dt= OracleHelper.ReturnDataTable(OracleHelper.dbCon,
CommandType.StoredProcedure, "JT_P_page.Pagination", param);- Help._rowCount = int.Parse(param[4].Value.ToString());
- }
- catch (OracleException on)
- {
- throw on;
- }
- return dt;
- }
注意一下再调用的时候 参数名必须和Oracle存储过程中的参数保持一致 否则可能会报错 例如:new OracleParameter("Pindex",OracleType.Number) 中的 Pindex 和存储过程procedure Pagination (Pindex in number 中的一样,Aspnetpage作为一个第三方控件,直接从网上下载后 在VS2005工具栏里把.dll导进去 就可以拿来用了 前台页面Update_Agent.aspx.cs里:
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- BindGridView(0, "union_view", _pageSize);
- AspNetPager1.RecordCount = (Help._rowCount >= 0) ? Help._rowCount : 0;
- }
- }
- private void BindGridView(int index, string sql, int pageSize)
- {
- DataTable dt;
- if (sql != "")
- {
- ViewState["IsProcedure"] = "yes";
- dt = Help.ReturnDataTable(index, sql, pageSize);
- }
- else
- {
- ViewState["IsProcedure"] = "no";
- dt = Help.ReturnDataTableByCondition
(dateinput.Value, dateinput2.Value,
orderID.Value.Trim(), dgWay.SelectedValue,
AspNetPager1.CurrentPageIndex - 1, AspNetPager1.PageSize);- }
- iagentView.DataSource = dt;
- DataBind();
- AspNetPager1.RecordCount = (sql!="")?Help._rowCount:
Help.ReturnRows(dateinput.Value, dateinput2.Value,
orderID.Value.Trim(), dgWay.SelectedValue);- AspNetPager1.PageSize = pageSize;
以上的相关内容就是对Oracle存储过程有相关参数的部分介绍,望你能有所收获。
【编辑推荐】