相关疑难解决方法(0)

JDBC驱动程序在空ResultSet上抛出"ResultSet Closed"异常

我在SQLite的JDBC驱动程序中遇到问题.

我正在使用SELECT语句执行查询.

如果我得到一个空ResultSet(0行),那么我看到调用时抛出的"Closed ResultSet"异常getString(1).

如果没有先前的JDBC经验,我的理论(我无法通过JavaDocs确认ResultSet)就是这样

  • getString(1) 不适用于空(零行)结果集(按设计或由于错误)
  • ResultSet'open"标志设置false为零行(再次,设计或错误)

我看到了这个错误报告,但不确定它是否相关.

我的问题是:

  1. 上述理论是否正确?
  2. 这是一个错误吗?特征?(如果有的话,有人可以指向文件吗?)
  3. 它是特定于SQLIte的JDBC还是ResultSet所有JDBC驱动程序中的泛型?
  4. 这样做的正确方法是什么?

对于#4,我的解决方案是在之后使用isFirst()call executeQuery()来检查结果集中是否有任何行.这是最佳做法吗?

(我也可以简单地选择一个计数insetad,因为我不需要一个结果集,只有零非零标志,但我想知道正确的事情,如果我关心选择的结果)

谢谢!

java sqlite exception jdbc resultset

9
推荐指数
3
解决办法
2万
查看次数

标签 统计

exception ×1

java ×1

jdbc ×1

resultset ×1

sqlite ×1