domino的专栏

网站编程技巧,心德

RecordCount=-1问题

经常有朋友问我,为什么明明数据库有记录,但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("属性名")进行测试是否支持该属性。
阅读更多
个人分类: ASP
上一篇SqlServer数据库的备份和恢复措施
下一篇C#是一种新的语言?或者仅仅只是Java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭