带有 sql 语句的 Java JDBC exec 过程
Posted
技术标签:
【中文标题】带有 sql 语句的 Java JDBC exec 过程【英文标题】:Java JDBC exec procedure with sql statement 【发布时间】:2013-05-21 12:14:06 【问题描述】:我需要执行这段 SQL 代码:
exec procedure(param, param, param, param)
select * from bla_bla_table;
commit;
并从此查询中获取一个 ResultList。
我试着这样做:
CallableStatement stmt = connection.prepareCall("call procedure(param,param,param,param)");
stmt.execute();
如何在commit
之前在此处插入sql 语句select * from bla_bla_table;
以获取ResultSet。我尝试了很多方法来做到这一点......但没有任何帮助。
【问题讨论】:
你想使用过程获取记录吗? 【参考方案1】:你试过了吗?
connection.setAutoCommit(false); // Disable Auto Commit
CallableStatement stmt = connection.prepareCall("call procedure(param,param,param,param)");
stmt.execute();
Statement stmt2 = connection.createStatement();
ResultSet rs = stmt2.executeQuery("select * from bla_bla_table"); // Result set for Query
connection.commit();
【讨论】:
哦.. 伙计,你太棒了!我对 JDBC 有点陌生,所以你的回答对我很有帮助! Tnx!【参考方案2】:在执行代码后添加此代码。
PreparedStatement prep = connection.prepareStatement(string);
ResultSet rs = prep.executeQuery();
// now iterate the resultset.
在做任何事情之前,您应该确保通过将连接的自动提交选项设置为 false 来运行事务。
connection.setAutoCommit(false);
【讨论】:
以上是关于带有 sql 语句的 Java JDBC exec 过程的主要内容,如果未能解决你的问题,请参考以下文章