职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1423|回复: 0

Java调用Oracle的过程和函数

[复制链接]
joe 发表于 2007-1-23 19:21 | 显示全部楼层 |阅读模式
内容或简介:

/**

调用数据库里的一个函数

一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数

***********************************/

CallableStatement cs;

try {

// 调用一个没有参数的函数; 函数返回 a VARCHAR

// 预处理callable语句



  cs = connection.prepareCall(\"{? = call myfunc}\");



// 注册返回值类型

cs.registerOutParameter(1, i);



// Execute and retrieve the returned value

cs.execute();

String retValue = cs.getString(1);



// 调用有一个in参数的函数; the function returns a VARCHAR

cs = connection.prepareCall(\"{? = call myfuncin(?)}\");



// Register the type of the return value

cs.registerOutParameter(1, Types.VARCHAR);



// Set the value for the IN parameter

cs.setString(2, \"a string\");



// Execute and retrieve the returned value

cs.execute();

retValue = cs.getString(1);



// 调用有一个out参数的函数; the function returns a VARCHAR

cs = connection.prepareCall(\"{? = call myfuncout(?)}\");



// Register the types of the return value and OUT parameter

cs.registerOutParameter(1, Types.VARCHAR);

cs.registerOutParameter(2, Types.VARCHAR);



// Execute and retrieve the returned values

cs.execute();

retValue = cs.getString(1);           // return value

String outParam = cs.getString(2);    // OUT parameter



// 调用有一个in/out参数的函数; the function returns a VARCHAR

cs = connection.prepareCall(\"{? = call myfuncinout(?)}\");



// Register the types of the return value and OUT parameter

cs.registerOutParameter(1, Types.VARCHAR);

cs.registerOutParameter(2, Types.VARCHAR);



// Set the value for the IN/OUT parameter

cs.setString(2, \"a string\");



// Execute and retrieve the returned values

cs.execute();

retValue = cs.getString(1);           // return value

outParam = cs.getString(2);           // IN/OUT parameter

} catch (SQLException e) {

}
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-14 00:45 , Processed in 0.128897 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表