繁体   English   中英

jdbc ResultSet为空

[英]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语句并指示第一个结果的形式。 然后,您必须使用方法getResultSetgetUpdateCount检索结果,并使用getMoreResults移至任何后续结果。

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

您应该使用getMoreResults处理其余结果并找到ResultSet。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM