为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:
【CPU】:
【问题描述】*:resultSet.beforeFirst报错:dm.jdbc.driver.DMException:不能使用于该类型的结果集
public static void main(String[] args) {
try {
Class.forName("dm.jdbc.driver.DmDriver");
Connection connection=DriverManager.getConnection("jdbc:dm://localhost:5236","SYSDBA","SYSDBA");
String sql="SELECT PARA_NAME,PARA_VALUE FROM V$DM_INI;";
PreparedStatement preparedStatement=connection.prepareStatement(sql);
ResultSet resultSet=preparedStatement.executeQuery();
int count=0;
while(resultSet.next()) {
count++;
}
System.out.println(count);
resultSet.beforeFirst();
count=0;
while(resultSet.next()) {
count++;
}
System.out.println(count);
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}
}
905
dm.jdbc.driver.DMException: 不能使用于该类型的结果集
at dm.jdbc.driver.DBError.throwz(SourceFile:758)
at dm.jdbc.driver.DmdbResultSet.do_beforeFirst(SourceFile:344)
at dm.jdbc.driver.DmdbResultSet.beforeFirst(SourceFile:3012)
at test.Main.main(Main.java:22)
尝试下创建statement的时候指定允许移动。rs.TYPE_SCROLL_INSENSITIVE 该常量指示可滚动但通常不受 ResultSet 底层数据更改影响的 ResultSet 对象的类型。rs.CONCUR_READ_ONLY 缺省类型。该常量指示不可以更新的 ResultSet 对象的并发模式