RecordCount=-1问题

原创 2005年02月28日 09:06:00
经常有朋友问我,为什么明明数据库有记录,但RecordCount=-1,看看是什么原因导致
通常人们使用以下两种方法来执行SQL语句:
Set Rs=Conn.Execute(SqlStr)

Set Rs=Server.CreateObject(“ADODB.RecordSet“)
Rs.Open SqlStr,Conn,CursorType,LockType

(RecordSet对象方法请看这里)


由于默认的记录集游标是服务器游标,
Rs.CursorLocation = adUseServer
所以返回Rs.RecordCount=-1,
应该把服务器游标改为客户端游标,
Rs.CursorLocation = adUseClient
Rs.Open SqlStr,Conn,CursorType,LockType

rs.cursortype

光标类型 recordcount 属性
---------------------------------------------
ForwardOnly 0(默认) 返回-1
Keyset 1 正确的记录数
Dynamic 2 -1或不正确的记录数,依数据源而定
Static 3 正确的记录数

所以Rs.CursorLocation = 3

可用recordset.support("属性名")进行测试是否支持该属性。

相关文章推荐

如何解决取ADO的Recordset对象的RecordCount属性总是-1问题

1.如何解决取ADO的Recordset对象的RecordCount属性总是-1问题? 最近在用asp做网页后台时,遇到了一个烦人的问题,RecordSet对象的RecordCount和PageCo...

Rs.recordcount=-1的解决办法

利用ADO连接数据库时,Rs.recordcount总是返回-1,可能的解决办法如下:在记录集打开前加上rs.cursorlocation=3  rs.CursorLocation=3 是什么意...

Rs.recordcount返回-1

用ASP分页查询数据库时时RS.RESORDCOUNT==-1,BAIDU了下解决方法,转载至此  方法一:rs.open sqlstr,conn,3,2  因为conn后第一个数字是...
  • sding
  • sding
  • 2011年10月24日 11:29
  • 1102

ASP程序中RecordCount=-1解决方案

现象   当在服务器端请求RecordCoun时会返回-1。这是因为ActiveX Data Objects (ADO) 2.0中的CursorType是adOpenForwardonly或者a...

利用ADO连接数据库时,Rs.recordcount总是返回-1,解决办法

学习过程中总是麻烦不断 一个小小的问题也可以折腾一晚上! 在用ADO链接sql 进行数据操作的时候  要取记录集总数 Rs.recordcount   取出来的却总是-1 在百度来回寻找终于找到解...

UniDAC 的 RecordCount 属性注意事项 .

转载http://www.pfeng.org/archives/58/   一直以来都是用UniDAC作为数据库查询组件,而一般的写法都是这样:   01 UniQu...
  • 2353939
  • 2353939
  • 2012年04月08日 11:37
  • 492

1、表达式求值问题 2、任务调度

  • 2017年11月10日 07:26
  • 229KB
  • 下载

SCN 案例详解(1) ---问题产生原因

以下为引用别人的一个案例,用于记录SCN HeadRoom事件产生的原因。  ORACLE SCN问题前后耗时两周,因刚开始对SCN问题不太了解,导致问题处理越来越麻烦,走了不少弯路,随着查询...

LTE_TDD问题定位指导1

  • 2017年07月28日 12:10
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RecordCount=-1问题
举报原因:
原因补充:

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