黑马程序员技术交流社区
标题:
java的问题
[打印本页]
作者:
珊湖礁
时间:
2013-12-3 11:31
标题:
java的问题
本帖最后由 珊湖礁 于 2013-12-4 18:54 编辑
如何使用CallableStatement执行存储过程
作者:
天ya~_琼楼
时间:
2013-12-4 10:34
同学,在这里交流的都是学java基础准备进黑马的同学,你咋可学SQL了,这个问题表示解决不了。
不过百度百科上就有答案,但是我也没看懂,如果你在学这方面知识的话你应该能看懂。
http://blog.csdn.net/imust_can/article/details/6989954
http://baike.so.com/doc/4287897.html
希望对你有所帮助。
作者:
史超
时间:
2013-12-4 11:32
CallableStatement stmt=connection.prepareCall("{ call 用于更新的存储过程名称(?,?,?) }"); stmt.setString(1,"字符"); stmt.setDate(2,Date); stmt.setDate(3,Date); stmt.executeUpdate(); CallableStatement stmt=connection.prepareCall("{ call 用于查询过程名称(?,?,?) }"); stmt.setString(1,"字符"); stmt.setDate(2,Date); stmt.setDate(3,Date); stmt.executeQuery(); 如果你需要传回参数,你可以这样: CallableStatement stmt=connection.prepareCall("{ call 用于查询过程名称(?,?,?,?) }"); stmt.setString(1,"字符"); stmt.setDate(2,Date); stmt.setDate(3,Date); stmt.registerOutParameter(1,自己定义类型); stmt.executeQuery(); 自己定义类型 x=stmt.get自己定义类型(1);//获得传回的参数值,参数类型要自己定义的。以下是官方文档上的原话:public interface CallableStatementextends PreparedStatement用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 型参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。 {?= call <procedure-name>[<arg1>,<arg2>, ...]} {call <procedure-name>[<arg1>,<arg2>, ...]}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2