java数据库的存储过程_JAVA调用数据库的存储过程

下午调试了一个调用数据库存储过程的片段,居然弄了两三个小时,下边小小总结一下。

关键代码:

1    String sql="CALL pkg_rfts_global.sp_gui_delete_Object(?)";

2    CallableStatement inoutProc=(CallableStatement) conn.prepareCall(sql);

3    inoutProc.registerOutParameter(1,4);

4    inoutProc.setInt(1,9450);

5    inoutProc.execute();

6    inoutProc.close();

整个过程就如上了,sql就是一个存储字符串的变量;con是事先已经和数据库连接好的连接(Connection类);inoutProc就是CallableStatement 类的一个实例;

第一句话就是要执行的命令语句,pkg_rfts_global是包名,sp_gui_delete_Object是存储过程名,看老师给我们演示时还有在最前面加入登陆用户名的,这里没有也通过了,可能是已经登陆的原因。小括号里是变量,这里是在存储过程中定义的,这个存储过程就定义了一个变量。第三行是设置变量输出时的大小,如registerOutParameter方法指定了上述的第一个参数大小为4;第三句话是设置参数,setInt方法设置了第一个参数的整形值为9450;第五句话开始执行这个语句;最后关闭。

出现的问题(因为是第一次用,很弱智的说):

1、没有加CALL;

2、在语句后面多了一个“;”;

再贴几句话:

cs.registerOutParameter(2, java.sql.Types.INTEGER);

cs.registerOutParameter(4, java.sql.Types.VARCHAR);

cs.registerOutParameter(10, java.sql.Types.FLOAT);

cs.registerOutParameter(20, java.sql.Types.VARCHAR);

cs和inoutProc是一个类型了,这是在定义变量输出时大小的另外一种方法。

posted on 2008-07-22 15:46 听风 阅读(201) 评论(0)  编辑  收藏 所属分类: JAVA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值