您的位置:首页 > 数据库

如何解决返回数据库查询纪录条数的…

2013-09-15 10:13 204 查看
大家在使用recordcount来实现返回纪录数的时候会发现返回值是-1或者1的时候,很奇怪,经过研究总结了以下几种获得纪录条数的方法:
备注:(我前边发过一篇:数据库连接实例,具体地址:http://blog.sina.com.cn/s/blog_505bf9af01009307.html 希望大家参考学习)

方法一

Set oRs
=
Server.CreateObject("ADODB.RecordSet")

oRs.Open
sSql,
oConn,
1,
1

来读数据.

仅检索数据:rs.open
SQL,conn,1

更新数据:rs.open
SQL,conn,2,2,1

方法二

用Select
Count(*)
As
RecordCount
From
oRs("RecordCount")来获取

方法三

用Do While
Not
oRs.Eof

RecordCount
=
RecordCount
+
1

Loop

方法一原理如下:

通常人们使用以下两种方法来执行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
正确的记录数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: