Java中的ExecuteQuery()与getResultSet()

Java中的ExecuteQuery()与getResultSet(),第1张

Java中的ExecuteQuery()与getResultSet()

通常,

executeQuery
如果知道执行的是select语句,则应使用。该
getResultSet()
方法本身 不会执行该语句

所述

getResultSet
的目的是在与组合使用
execute
。该
execute
方法适用于未知的语句类型,或可能产生多个结果(即0或多个更新计数或结果集)的语句。

简而言之:您通常应使用

executeQuery

一个简单的示例

execute
如果代码不知道它将执行什么查询(更新,查询或更复杂的查询),例如在执行用户提供的查询时,您应该使用它。

另一个示例是SQL Server存储过程,它可以返回多个更新计数和结果集。

处理结果的通用方法

execute
是:

boolean isResultSet = statement.execute(sql);while (true) {    if (isResultSet) {        try (ResultSet rs = statement.getResultSet()) { // do something with result set        }    } else {        int updateCount = statement.getUpdateCount();        if (updateCount == -1) { // -1 signals no more results break;        }        // do something with update count    }    // move to next result    isResultSet = statement.getMoreResults();}

这样可以确保所有*结果都得到处理。

*:此示例忽略了允许将多个异常与结果集和更新计数交错的系统(如SQL Server)的异常结果.



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4899038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存