今天这个小小的问题难住我半天,(毕竟实习生水平)~~浪费光阴啊。不过总算解决了
ResultSet may only be accessed in a forward direction 这个错误的引起是jTDS驱动中的TYPE_SCROLL_INSENSITIVE只支持只读操作,TYPE_SCROLL_SENSITIVE支持Update操作,但不支持另外的Insert
所以我们prepareStatement()函数的第二个参数用 TYPE_SCROLL_SENSITIVE比较好
//某表的记录的行数
public int CountRowNumber(String tableName){
//参数为表名
try {
ResultSet rs = null;
String sql = "select * from "+tableName;
//Statement stmt = conn.createStatement();
PreparedStatement pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
rs.last();
return rs.getRow();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return -1;
}
}
ResultSet may only be accessed in a forward direction 这个错误的引起是jTDS驱动中的TYPE_SCROLL_INSENSITIVE只支持只读操作,TYPE_SCROLL_SENSITIVE支持Update操作,但不支持另外的Insert
所以我们prepareStatement()函数的第二个参数用 TYPE_SCROLL_SENSITIVE比较好
//某表的记录的行数
public int CountRowNumber(String tableName){
//参数为表名
try {
ResultSet rs = null;
String sql = "select * from "+tableName;
//Statement stmt = conn.createStatement();
PreparedStatement pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
rs.last();
return rs.getRow();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return -1;
}
}