[英]jdbc ResultSet is null
我正在尝试运行一些更新,并最终返回一些我可以使用的resultSet,但结果始终为null。 我的代码是
PreparedStatement preparedStatement = aConnection.prepareStatement(script);
boolean results = preparedStatement.execute();
如果我的查询是
BEGIN
Declare @MyLog as varchar(max) = '---------------------- '
+ CHAR(10) + CHAR(10)
BEGIN
BEGIN TRAN
UPDATE MPRN SET K4101 = 'N'
select * from HELD_FLOW
COMMIT TRAN
END
END
该语句不返回任何值。 但是,如果我的查询是
BEGIN
Declare @MyLog as varchar(max) = '---------------------- '
+ CHAR(10) + CHAR(10)
BEGIN
BEGIN TRAN
select * from HELD_FLOW
UPDATE MPRN SET K4101 = 'N'
COMMIT TRAN
END
END
返回所有值! 因此,更新和选择的顺序很重要! 我想先更新一些值,最后返回一些输出,如第一个示例中那样,它不起作用...
全部在javadoc中 :
execute
方法执行一条SQL语句并指示第一个结果的形式。 然后,您必须使用方法getResultSet
或getUpdateCount
检索结果,并使用getMoreResults
移至任何后续结果。
您的过程返回多个结果, execute
显示第一个结果的类型。 在第一个示例中,第一个结果是更新计数,第二个结果是结果集,因此您分别得到false
和true
。
您应该使用getMoreResults
处理其余结果并找到ResultSet。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.