您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java中的ExecuteQuery()与getResultSet()

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)的异常结果.

java 2022/1/1 18:51:58 有423人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶