解决SQLServer Unsupported method: ResultSet.last的问题

原创 2007年10月03日 21:42:00
在数据库查询中,一般我们都是先获得查询的结果集,然后通过ResultSet.last (/rs.last) 将游标移到记录集末,再用ResultSet.getRow() 函数来获得最后一条记录的行号,由此来获得该记录集的数量。

         这个方法在oracle 数据库中运行正常,但是换到MS SQL中就会报出

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.last

这样的错误。

解决办法是:

Statement变量要按照如下设置:

stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);   

或:

Statement stmt = conn.createStatementResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

但这样做是将游标移到最后一条记录的位置比较耗时,少量的记录不太明显。以下是测试的记录: 

1,用COUNT函数方法,该方法是在查询中通过SQL的统计函数COUNT来统计查询的记录数。
2,用ResultSet.last()方法。
3,环境为XP,SQL SERVER 2000,JAVA
4,记录数:100000。
5,结果:COUNT方法用时270毫秒;ResultSet.last()方法用时31846毫秒,大约32秒。
这个结果大家是不是大吃一惊。

 

关于ResultSet.last()方法报错问题的解决

文章转载:http://blog.sina.com.cn/s/blog_62a6001a0100ew6j.html   在不想再次通过查询数据库得到记录条数的情况下,(如:select count(...
  • Absolut_Seven
  • Absolut_Seven
  • 2015年12月14日 10:56
  • 311

缓存在高并发场景下的常见问题

缓存一致性问题当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的...
  • dinglang_2009
  • dinglang_2009
  • 2016年12月05日 12:41
  • 4967

SQL Server并发问题表分区解决方案

基本概念: 观察各个领域中真正的专家,你会发现,他们通常有着非常扎实的基础知识。不管怎样,各行各业都需要处理各种问题。这些问题的所有解决方案(也许非常复杂)都需要综合运用各种关键技术。要想精通某一领域...
  • u011442043
  • u011442043
  • 2013年07月31日 21:40
  • 927

#升级Android Studio2.3遇到的奇葩问题及最终解决方法

升级Android Studio遇到的奇葩问题从2.2.3升级2.3差不多两天,还好意志比较坚强。 在这期间试过各种方法….使用本地gradle…挂vpn(奇葩的是挂了还翻不过去)…下面说下升级期间...
  • qq_37299249
  • qq_37299249
  • 2017年03月12日 14:24
  • 1636

SqlServer数据库中文乱码问题解决

问题:创建新数据库,存入中文显示乱码??? 原因分析:SQL版的乱码问题还是出现在SQL SERVER的安装设置上。默认安装时系统默认的排序规则是拉丁文的排序规则,但一般人在安装时没有考虑到这一点,...
  • u011127019
  • u011127019
  • 2016年05月11日 18:17
  • 10535

SQLServer 内存溢出问题?(待解决)

报错是在3个小时前的,但是问题还没有立即出现,3个小时左右,Windows系统操作总是出错,数据库连接不上。SQLserver代理总是自动停止,启动几分钟就停止。 部分错误如下:   ...
  • kk185800961
  • kk185800961
  • 2015年01月24日 14:24
  • 5501

SQLServer解决孤立用户问题

SQLServer中存在两种用户:SQLServer登录用户、数据库用户。 在服务器实例上未定义或错误定义了其相应 SQL Server 登录名的数据库用户无法登录到实例。 这样的用户被称为此服务器实...
  • ascdfwsfrfadfg
  • ascdfwsfrfadfg
  • 2016年11月15日 15:26
  • 88

记一次梯子故障后的排查思路

很多时候,编程语言不是最重要的,重要的是算法结构。 很多时候,解决问题的前提是看定位问题是否准确,成为大牛必须具备这种快速定位的能力。今天梯子突然断了,我换了别人家的账号就可以,我排除了本地客户端的...
  • sinat_21302587
  • sinat_21302587
  • 2017年07月26日 15:50
  • 5963

cxf 解析调用外部soap类型的webservice

一、可用的请求wsdl的webservice路径 服务器提供一个外部可调用的webservice的wsdl路径,在浏览器中可直接反问道wsdl文件,在soapUI中可测试每个请求的有效的路径(该web...
  • u012160163
  • u012160163
  • 2016年08月23日 16:34
  • 2165

Hungarian method (匈牙利算法)----解决指派问题(转)

---匈牙利解法是求解指派问题的一种新颖而又简便的解法。 ---指派问题的最优解有这样一个性质,若从系数矩阵的一行(列)各元素中分别减去该行(列)的最小元素,得到新矩阵,那么以新矩阵为系数矩阵求...
  • qq_33829154
  • qq_33829154
  • 2017年03月16日 16:20
  • 334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决SQLServer Unsupported method: ResultSet.last的问题
举报原因:
原因补充:

(最多只允许输入30个字)