日期:2014-05-16  浏览次数:20411 次

java 调用存储过程的两种不同方式

1.如果数据库使用的存储过程为返回值的方法

create or replace function check(name varchar2)

return number as
id number;

begin ...

?

java程序使用的方法为:

proc = conn.prepareCall("{ ?=call activeusernamepwd( ? ) }");

proc.setString(2,"nameval");

proc.registerOutParameter(1, OracleTypes.NUMBER);

proc.execute();
id = proc.getLong(1);

?

2.如果数据库使用的存储过程为返回参数的方法

CREATE OR REPLACE PROCEDURE checkUserExist(
????????????????????????????????????? name varchar2,??

??????????????????????????????????????id out number)? is
begin ...

java程序使用的方法为:

?proc = conn.prepareCall("{ call checkUserExist( ?,?) }");

?proc.setString(1,"nameval");

?proc.registerOutParameter(2,OracleTypes.NUMBER);

?proc.execute();
?id = proc.getLong(2);