【发布时间】:2016-10-19 13:52:46
【问题描述】:
我正在尝试获取 ResultSet 的大小。现在因为我使用的是 SQLite,而 SQLite 只支持 TYPE_FORWARD_ONLY 游标,所以我试图弄清楚如何在不引发错误的情况下获取它的大小。这行不通:
int size = 0;
rs.last();
size = rs.getRow();
我也不能使用准备好的语句将光标更改为可滚动。反正有没有得到尺寸?
我也尝试过创建一个while循环方法来处理这个问题,但它似乎仍然不起作用
public static int getResultSetSize(ResultSet rs) throws SQLException{
int size = 0;
while(rs.next()){
size++;
}
return size;
}
任何帮助将不胜感激。
编辑:
我尝试了以下没有成功
ResultSet rs = DBHelpers.getResultSet("SELECT COUNT(*) FROM USERS;");
int count = 0;
try {
count =rs.getInt(0) ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
帮助方法如下:
public static ResultSet getResultSet(String sql){
ResultSet rs = null;;
try (Statement stmt = conn.createStatement()){
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
return rs;
}
Conn 是在程序的其他地方初始化的静态连接变量,以指向正确的数据库,它没有引起任何问题。
【问题讨论】: