存储过程是这样的CREATE OR REPLACE PACKAGE pkg_cursor_ciq_fin
As
type curs_fee_result is ref cursor;
procedure prc_finance_fee_result_query
(in_decl_code IN varchar2,
in_decl_reg_code IN varchar2,
in_startDate IN varchar2,
in_endDate IN varchar2,
in_flag IN char,
curs_fee OUT curs_fee_result);
end pkg_cursor_ciq_fin;
我现在程序是这样的Connection con = null;
//Statement stmt = null;
//ResultSet rs = null;
CallableStatement callStat = null;
OracleCallableStatement stmt = null;
ArrayList arrJfList = new ArrayList();
try
{
con = DriverManager.getConnection("jdbc:oracle:thin:@10.33.3.253:1521:oral","eplatform","lgxlgx");
stmt = (OracleCallableStatement) con.prepareCall("{call CIQ_FINANCE.pkg_cursor_ciq_fin.prc_finance_fee_result_query@LKCIQFINANCE(?,?,?,?,?,?)}");
stmt.setString(1, "" );//,号后面还有一个参数是你传的
stmt.setString(2, declNo );
stmt.setString(3, "" );
stmt.setString(4, "" );
stmt.setString(5, "" );
stmt.registerOutParameter(6, OracleTypes.CURSOR);
stmt.executeUpdate();
ResultSet rs = (ResultSet)stmt.getObject(6); //ResultSet rs = (ResultSet)stmt.getCursor(6);
/*ResultSet rs = ((OracleCallableStatement)stmt).getCursor(6);
while( rs.next() )
{
System.out.println(rs.getString(0));
}*/
System.out.println("dddd");
stmt.close();
con.close();
}执行到
ResultSet rs = (ResultSet)stmt.getCursor(6);
这里是时候会出现
无效 SQL 语句 这样的错误请高手指定怎么把这个结果给得到!
As
type curs_fee_result is ref cursor;
procedure prc_finance_fee_result_query
(in_decl_code IN varchar2,
in_decl_reg_code IN varchar2,
in_startDate IN varchar2,
in_endDate IN varchar2,
in_flag IN char,
curs_fee OUT curs_fee_result);
end pkg_cursor_ciq_fin;
我现在程序是这样的Connection con = null;
//Statement stmt = null;
//ResultSet rs = null;
CallableStatement callStat = null;
OracleCallableStatement stmt = null;
ArrayList arrJfList = new ArrayList();
try
{
con = DriverManager.getConnection("jdbc:oracle:thin:@10.33.3.253:1521:oral","eplatform","lgxlgx");
stmt = (OracleCallableStatement) con.prepareCall("{call CIQ_FINANCE.pkg_cursor_ciq_fin.prc_finance_fee_result_query@LKCIQFINANCE(?,?,?,?,?,?)}");
stmt.setString(1, "" );//,号后面还有一个参数是你传的
stmt.setString(2, declNo );
stmt.setString(3, "" );
stmt.setString(4, "" );
stmt.setString(5, "" );
stmt.registerOutParameter(6, OracleTypes.CURSOR);
stmt.executeUpdate();
ResultSet rs = (ResultSet)stmt.getObject(6); //ResultSet rs = (ResultSet)stmt.getCursor(6);
/*ResultSet rs = ((OracleCallableStatement)stmt).getCursor(6);
while( rs.next() )
{
System.out.println(rs.getString(0));
}*/
System.out.println("dddd");
stmt.close();
con.close();
}执行到
ResultSet rs = (ResultSet)stmt.getCursor(6);
这里是时候会出现
无效 SQL 语句 这样的错误请高手指定怎么把这个结果给得到!
"{Begin
CIQ_FINANCE.pkg_cursor_ciq_fin.prc_finance_fee_result_query(?,?,?,?,?,?)};
END;");