如何确定获取的Java ResultSet是否为空? [英] How to find out if a Java ResultSet obtained is empty?
本文介绍了如何确定获取的Java ResultSet是否为空?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Class.forName(org.sqlite.JDBC);
Connection conn =
DriverManager.getConnection(jdbc:sqlite:userdata.db);
语句stat = conn.createStatement();
ResultSet rs = stat.executeQuery(SELECT * from table WHERE is_query_processed = 0;);
int rowcount = rs.getRow();
System.out.println(Row count =+ rowcount); // output 1
rs.first(); //此语句生成异常
为什么会这样?
< div通常使用的模式如下:
boolean empty = true;
while(rs.next()){
// ResultSet处理这里
empty = false;
}
if(empty){
//空结果集
}
Class.forName("org.sqlite.JDBC");
Connection conn =
DriverManager.getConnection("jdbc:sqlite:userdata.db");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("SELECT * from table WHERE is_query_processed = 0;");
int rowcount = rs.getRow();
System.out.println("Row count = "+rowcount); // output 1
rs.first(); // This statement generates an exception
Why is it so?
解决方案
The pattern I normally use is as follows:
boolean empty = true;
while( rs.next() ) {
// ResultSet processing here
empty = false;
}
if( empty ) {
// Empty result set
}
这篇关于如何确定获取的Java ResultSet是否为空?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文