Bru*_*uce 12 java database jdbc resultset
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
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
Col*_*son 20
我通常使用的模式如下:
boolean empty = true;
while( rs.next() ) {
// ResultSet processing here
empty = false;
}
if( empty ) {
// Empty result set
}
Run Code Online (Sandbox Code Playgroud)
这是一个简单的方法:
public static boolean isResultSetEmpty(ResultSet resultSet) {
return !resultSet.first();
}
Run Code Online (Sandbox Code Playgroud)
这会将光标移动到开头.但是如果你只想测试它是否为空,那么你可能还没有做过任何事情.
first()在进行任何处理之前,请立即使用该方法.ResultSet rs = stat.executeQuery("SELECT*from table WHERE is_query_processed = 0;");
if(rs.first()) {
// there's stuff to do
} else {
// rs was empty
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51127 次 |
| 最近记录: |