关于ResultSet.last()方法报错问题的解决
来源:互联网 发布:淘宝代码生成网站 编辑:程序博客网 时间:2024/05/22 10:58
今天看到这样的一个文章,感觉写的挺好,就把它拿过来收藏一下,也与大家分享一下。有位朋友在使用ResultSet.last时,遇到了这样的问题java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.last。
在不想再次通过查询数据库得到记录条数的情况下,(如:select count(*) from tableName)我们可能会使用ResultSet.last()方法将游标指向结果集末尾,并使用ResultSet.getRow()方法获取当前行号来取得最大行号。
可能遇到这样的问题:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.last
说JDBC不支持这种方法,这是因为Statement对象是专门处理ResultSet记录的API对象,所以它对于所要处理的ResultSet还是有要求的,如果要使用扩展式的游标,那么就要使用以下构造:
resultSetType(结果集类型)包括:
ResultSet.TYPE_FORWARD_ONLY 缺省类型。该常量指示光标只能向前移动的 ResultSet 对象的类型。
ResultSet.TYPE_SCROLL_INSENSITIVE 该常量指示可滚动但通常不受 ResultSet 底层数据更改影响的 ResultSet 对象的类型。
ResultSet.TYPE_SCROLL_SENSITIVE 该常量指示可滚动并且通常受 ResultSet 底层数据更改影响的ResultSet 对象的类型。
resultSetConcurrency(并发类型)包括:
ResultSet.CONCUR_READ_ONLY 缺省类型。该常量指示不可以更新的 ResultSet 对象的并发模式。
ResultSet.CONCUR_UPDATABLE 该常量指示可以更新的 ResultSet 对象的并发模式。
了解了以上的构造之后,我们便对Statement进行修改如下:
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql = "select * from table1"; // 查询表table1中的内容
ResultSet rs = stmt.executeQuery(sql); // 执行sql语句
rs.last(); // 定位光标到最后一条记录
System.out.println(rs.getRow()); // 打印当前,即最后一条记录的行号
ps:这种方法是要装载数据的,所以数据量一旦过大就是会超出内存设置的。
- 关于ResultSet.last()方法报错问题的解决
- 关于ResultSet.last()方法报错问题的解决
- 关于ResultSet.last()方法报错问题的解决
- 关于使用ResultSet last报错的解决方法
- JSP 解决SQLServer Unsupported method: ResultSet.last/absolute等方法的问题
- 解决SQLServer Unsupported method: ResultSet.last的问题
- 关于SQL server中不支持ResultSet.last() 的问题
- ResultSet 类的first()方法报错
- 解决当字段不存在使用resultSet.getString("id")报异常的问题
- 解决报错问题方法
- 关于struts2动态方法调用报错的解决
- 关于SQL备份后还原报错问题的解决
- python3关于urllib中urlopen报错问题的解决
- python3关于urllib中urlopen报错问题的解决
- 关于报错的解决
- resultset 的指针报错原因
- 关于调用strcpy()函数时总是报错问题,5种方法解决!
- 关于Tableview 方法insertRowsAtIndexPaths 报错问题
- android hasSystemFeature函数
- git reset
- VMDotNet让winforms程序脱离.net framework运行
- 记得依依曾经说过,要做个快乐的天使。
- Red5/FMS视频直播带宽计算[转]
- 关于ResultSet.last()方法报错问题的解决
- Android开发中相当便捷的JSON反序列化实现(含源代码) 连带有handler和进度条功能
- Xcode修改项目名称
- IE10和HTML5 你该了解的那些
- Octave 是写得很优雅的一个软件
- Eclipse Android编程快捷键
- Struts2 unhandled exception
- supervisor 配置文件备忘
- 即时打印SQL包