preparedstatement executeupdate 可以执行存储过程么

 我来答
匿名用户
推荐于2016-09-08
展开全部
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>, ...]}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式