ResultSet .next未被调用异常被抛出

时间:2015-05-14 19:51:30

标签: java regex string resultset

我有这样的查询

String sql_query = select name, display_name from parameter where id = (something);

执行此查询后,我检索到ResultSet,然后我尝试更新值display_name。它不起作用并抛出异常

  

.next没有被调用。

rs = stmt.executeQuery(sql_query);
String displayName = rs.getString(display_name);
displayName = displayName.replace("&lt;", "<");
rs.updateString(display_name,display name);

2 个答案:

答案 0 :(得分:0)

问题正是它在错误消息中所说的内容。 ResultSet.next()未被调用。所以称之为。不要忘记检查返回值。

答案 1 :(得分:0)

如果您只想检索一行详细信息,则需要调用rs.next()将光标移动到第一行。首先,光标位于第一行之前。 如果要处理多个记录,可以循环遍历结果集,如下所示。 next()方法返回false,因此可以用它循环到结果集的结尾。

while(rs.next()) {
  String displayName = rs.getString(display_name);
  displayName = displayName.replace("&lt;", "<");
  rs.updateString(display_name,display name);
}