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


您应该使用来处理剩余的结果并找到结果集。

为什么
结果
类型是
布尔值
?只需检查结果是否为真(是否有结果集返回)添加
设置无计数可能会有所帮助。