连接SQLserver2005:JDBC -记录集-不支持此游标类型/并发组合

com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此游标类型/并发组合。

使用sqljdbc.jar

stmt = con.createStatement(  ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

是错误的,但是javaAPI里面是这么写的,使用以上方法会出现:com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此游标类型/并发组合错误。

应该改成如下形式:

Stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   

“ResultSet.TYPE_SCROLL_INSENSITIVE”结果集的游标可以上下移动,当数据库变化时,当前结果集不变。

ResultSet.CONCUR_UPDATEABLE表示能用结果集更新数据库中的表,

ResultSet.CONCUR_READ_ONLY表示只读

 

这样我们就可以使用下面的语句了:

rs.beforeFirst();//将光标移动到第一行

rs.absolute(i);//将光标移动到指定的行,

 

 

 

//x下面这样就可以通过for循环来遍历了,而不仅仅是while

   int length=0;
   while (rs.next()) {
    length++;
   }
   rs.beforeFirst();
   
   for (int i = 1; i <=length; i++) {
       rs.absolute(i);

   }

你可能感兴趣的:(连接SQLserver2005:JDBC -记录集-不支持此游标类型/并发组合)