Java jdbc结果集为空
我试图运行一些更新,并最终返回一些我可以使用的结果集,但结果总是空的。我的代码是Java jdbc结果集为空,java,sql-server,jdbc,Java,Sql Server,Jdbc,我试图运行一些更新,并最终返回一些我可以使用的结果集,但结果总是空的。我的代码是 PreparedStatement preparedStatement = aConnection.prepareStatement(script); boolean results = preparedStatement.execute(); 如果我的问题是 BEGIN Declare @MyLog as varchar(max) = '----------------
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
返回所有值!所以更新和选择的顺序很重要!我想先更新一些值,最后返回一些输出,如第一个示例所示,它不起作用…所有内容都在:
execute
方法执行SQL语句并指示第一个结果的形式。然后必须使用方法getResultSet
或getUpdateCount
检索结果,并使用方法getMoreResults
移动到任何后续结果
您的过程返回多个结果,execute
显示第一个结果的类型。在第一个示例中,第一个结果是更新计数,第二个结果是结果集,因此分别得到false
和true
您应该使用来处理剩余的结果并找到结果集。为什么
结果
类型是布尔值
?只需检查结果是否为真(是否有结果集返回)添加设置无计数脚本开头的code>可能会有所帮助。