【发布时间】:2011-02-26 22:18:14
【问题描述】:
我希望能够检查我的结果集中是否有结果。 Todo 这个我会执行:
if(rs.next()){
boolean = true;
}
但是我想检查该值是否在数据库中,如果有的话检索它:
while(rs.next())
id = rs.getInt("id);
我将如何将两者结合起来?如果结果集为空,我希望返回 -2。
提前致谢,
院长
【问题讨论】:
我希望能够检查我的结果集中是否有结果。 Todo 这个我会执行:
if(rs.next()){
boolean = true;
}
但是我想检查该值是否在数据库中,如果有的话检索它:
while(rs.next())
id = rs.getInt("id);
我将如何将两者结合起来?如果结果集为空,我希望返回 -2。
提前致谢,
院长
【问题讨论】:
只需使用if-else:
if (resultSet.next()) {
return resultSet.getInt("id");
} else {
return -2;
}
有关如何处理存在、零/一、零/多结果的更多提示,另请参阅this answer。
【讨论】:
finally 中关闭它们,这样就可以正常工作了。
id = rs.next() ? rs.getInt("id") : -2;
喜欢吗?
【讨论】:
?: 的三元表达式。它与int id; if (rs.next()) id = rs.getInt("id"); else id = -2; 基本相同。另见java.sun.com/docs/books/tutorial/java/nutsandbolts/op2.html