时间:2021-04-16
现象
当在服务器端请求RecordCoun时会返回-1。这是因为ActiveX Data Objects (ADO) 2.0中的CursorType是adOpenForwardonly或者adOpenDynamic。
如果是ADO 1.5,只发生在cursortype是adOpenForwardonly的时候。如果使用OLEDB provider for JET和SQL Server产生的结果可能不同,这依赖于数据库的提供者。
提供者可能不支持某些CursorTypes。当你选择的CursorType不被支持时,提供者将选择最接近于你所请求的CursorType。请参考你的提供者的文档。此外,请注意不是所有的LockType和CursorType的组合都可以同时工作。改变LockType将强制改变CursorType。请确定使用调试来检查CursorType的值。
原因
在动态的游标中纪录号可能改变。Forwardonly的游标无法返回RecordCount。
解决办法
使用adOpenKeyset(=1)或者adOpenStatic(=3)作为服务器端游标或者客户端游标。客户端只使用adOpenStatic作为CursorTypes,而不管你选择什么样的CursorType。
状态
这个形式是设计决定的。
===============================================================================
链接文档帮助理解解决
有关rs.open sql,1,1中“1”和另外一个“1”的解释
rs.open sql,1,1也可以写成
rs.CursorType = 1
rs.LockType = 1
rs.open sql
其中CursorType代表从一个表或者一个SQL查询结果返回的记录。
这个参数有四个值分别是:
adOpenForwardOnly(=0)
表示只允许在记录集内的记录间往前移动。这个是缺省值。(只读,且当前数据记录只能向下移动)
adOpenKeyset(=1)
反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。(只读,当前数据记录可自由移动)
adOpenDynamic(=2)
反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录。(可读写,当前数据记录可自由移动)
adOpenStatic(=3)
不反映其它用户对记录所做的修改,添加,删除动作。(可读写,当前数据记录可自由移动,可看到新增记录)
lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型:
adLockReadOnly(=1)
数据不能改变,缺省锁定类型,记录集是只读的,不能修改记录
adLockPessimistic(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。(数据提供者在开始编辑数据的时候锁定记录)
adLockOptimistic(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。(仅当调用update方法时,数据提供者锁定记录)
adLockBatchOptimistic(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。(用于批处理修改)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
有时候在做asp的分页程序的时候会遇到无法分页的情况,就试着把rs.absolutepage打印出来结果却一直为-1。下面介绍一种解决方案:.......省略r
本文我们详细介绍了ASP数据库被挂木马的详细解决方案之编程处理的方法,解决方案分为以下三步:第一步:为现有数据库做好备份。第二步:执行如下ASP文件,这样就可以
本文实例讲述了轻量级asp.netajax解决方案。分享给大家供大家参考,具体如下:跟shotdog老师研究探讨了下asp.net里,除官方庞大asp.neta
本解决方案仅适应asp.netmvc开发环境,其他环境仅供参考。问题描述:在开发中遇到这样的需求,保存页面,通常使用JavaScript的saveAs进行保存,
1.vue打包后font-awesome字体失效解决方案:2.打包后图片资源失效解决方案:针对html中引用的图片针对css添加的背景中引用的图片以上这篇基于v