【问题标题】:Why this return org.h2.jdbc.JdbcSQLException?为什么返回 org.h2.jdbc.JdbcSQLException?
【发布时间】:2019-03-27 12:00:46
【问题描述】:

我想设置一个计数器来获取数据库中的记录数:

String sql = " select count(*) as counter from CLIENT ";
conn = DBConnector.getConnection();
try {
    state = conn.prepareStatement(sql);
    result = state.executeQuery();

    Counter=result.getInt("counter");
    txtUser.setText("user"+(Integer.toString(Counter)));

}
catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}

为什么这段代码会抛出 org.h2.jdbc.JdbcSQLException

【问题讨论】:

  • 给我们堆栈跟踪。它将与该行一起打印 e1.printStackTrace();

标签: java h2


【解决方案1】:

之后

result = state.executeQuery();

你还需要打电话

result.next();

前进当前行指针。

如果result.next(); 返回false,则没有可用的行。

【讨论】:

  • 非常感谢。我知道数据库中有记录,我猜可能是 result.next();
  • @S.Iliev 在处理单行结果时,您总是冒着忘记的风险。只需将 ResultSet 视为一个光标,它在开始时不指向任何有效的东西。
猜你喜欢
  • 2022-06-22
  • 2020-04-23
  • 2013-05-24
  • 1970-01-01
  • 2016-01-29
  • 2017-08-17
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
相关资源
最近更新 更多