栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java SQL:Statement.hasResultSet()?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java SQL:Statement.hasResultSet()?

当执行返回未知数量结果的查询时,则需要使用

execute()
。此方法返回一个
boolean
指示结果类型的:

  • true
    :结果是
    ResultSet
  • false
    :结果是更新计数

如果结果为

true
,则可使用
getResultSet()
来检索
ResultSet
,否则
getUpdateCount()
可使用以获取更新计数。如果是更新计数,
-1
则意味着没有更多结果。请注意,更新计数也将
-1
是当前结果为时的计数
ResultSet
。最好知道,
getResultSet()
如果没有更多结果或者结果是更新计数,则应返回null,因此SQL
Lite引发异常的行为似乎是错误的。

现在,如果要检索更多结果,请致电

getMoreResults()
(或它的兄弟接受
int
参数)。
boolean
此方法的返回值与的含义相同
execute()
,因此
false
并不意味着不再有结果!

如果

getMoreResults()
返回false
getUpdateCount()
return
-1
(如Javadoc中所述)
将没有更多结果。

本质上,这意味着如果您要正确处理所有结果,则需要执行以下操作:

PreparedStatement pstmt = connection.prepareStatement(...);// ...boolean result = pstmt.execute();while(true)    if (result) {        ResultSet rs = pstmt.getResultSet();        // Do something with resultset ...    } else {        int updateCount = pstmt.getUpdateCount();        if (updateCount == -1) { // no more results break;        }        // Do something with update count ...    }    result = pstmt.getMoreResults();}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号