gpt4 book ai didi

java - jdbc 结果集为空

转载 作者:行者123 更新时间:2023-11-30 08:06:41 24 4
gpt4 key购买 nike

我正在尝试运行一些更新并最终返回一些我可以使用的结果集,但结果始终为空。我的代码是

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里面:

The execute method executes an SQL statement and indicates the form of the first result. You must then use the methods getResultSet or getUpdateCount to retrieve the result, and getMoreResults to move to any subsequent result(s).

您的过程返回多个结果,execute 显示第一个结果的类型。在第一个示例中,第一个结果是更新计数,第二个是结果集,因此您分别得到 falsetrue

你应该使用 getMoreResults处理剩余的结果并找到 ResultSet。

关于java - jdbc 结果集为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com