ccreate or replace package jxcPackage is
type po is ref cursor;
function get(sqlstr in varchar2) return po;
end jxcPackage;
/create or replace package body jxcPackage is
function get(sqlstr in varchar2)
return po
is
repo po;
str varchar2(100);
begin
if sqlstr = 'm' then
open repo for select * from kc;
else
open repo for sqlstr;
end if;
return repo;
end get;
end jxcPackage;
/CallableStatement callable = null; ResultSet rs = null;
String str = "{? = call jxcPackage.get(?)}";InitialContext init = new InitialContext(); DataSource ds = (DataSource)init.lookup("jdbc/OracleDS"); conn = ds.getConnection(); callable = conn.prepareCall(str); callable.registerOutParameter(1 , OracleTypes.CURSOR); callable.setString(2 , "m"); callable.execute();rs =(ResultSet) callable.getObject(1); while ( rs.next()){
out.print(rs.getInt(1));
out.print(rs.getInt(2));}
}
type po is ref cursor;
function get(sqlstr in varchar2) return po;
end jxcPackage;
/create or replace package body jxcPackage is
function get(sqlstr in varchar2)
return po
is
repo po;
str varchar2(100);
begin
if sqlstr = 'm' then
open repo for select * from kc;
else
open repo for sqlstr;
end if;
return repo;
end get;
end jxcPackage;
/CallableStatement callable = null; ResultSet rs = null;
String str = "{? = call jxcPackage.get(?)}";InitialContext init = new InitialContext(); DataSource ds = (DataSource)init.lookup("jdbc/OracleDS"); conn = ds.getConnection(); callable = conn.prepareCall(str); callable.registerOutParameter(1 , OracleTypes.CURSOR); callable.setString(2 , "m"); callable.execute();rs =(ResultSet) callable.getObject(1); while ( rs.next()){
out.print(rs.getInt(1));
out.print(rs.getInt(2));}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货