- C# code
using (OracleCommand Cmd = new OracleCommand("QueryPagedTable", Conn)) { Cmd.CommandType = CommandType.StoredProcedure; Cmd.Parameters.Add("PageSize", OracleType.Int32).Value = PageSize; Cmd.Parameters.Add("PageNo", OracleType.Int32).Value = PageNo; Cmd.Parameters.Add("Table_", OracleType.VarChar, 50).Value = Table; Cmd.Parameters.Add("Filter", OracleType.VarChar, 1000).Value = Filter; Cmd.Parameters.Add("Order_", OracleType.VarChar, 500).Value = Order == null ? "" : Order; ; Cmd.Parameters["Order_"].Direction = ParameterDirection.Output; OracleDataAdapter ad = new OracleDataAdapter(Cmd); try { if (Conn.State != ConnectionState.Open) { Conn.Open(); OpenedHere = true; } ad.Fill(ds); } catch { return null; } finally { if (OpenedHere) if (Conn.State == ConnectionState.Open) Conn.Close(); } }
进入catch,提示下面错误信息:
ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'QUERYPAGEDTABLE' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
---------------------------------
存储过程:
create or replace procedure QueryPagedTable(
p_pagesize int,
p_pageno int,
p_table varchar2,
p_filter varchar2,
p_order in out varchar2
)
------解决方案--------------------
PageSize PageNo Table Filter Order 定义在哪里?
是不是类型不对。。。