用存储过程分页,怎样得到记录总数?急阿,高手们请帮帮忙!
急死了,后天就要交货了,现在这个分页还没弄好!
以前不用存储过程的,很简单
现在老板要求改用存储过程分页,
我用 command 打开存储过程,用 set rs=cmd.execute() 可以返回一个recordset,当时怎么返回记录总数,以及总页数?
个伟大下请帮帮忙阿,不甚感谢!!!
问题点数:100、回复次数:8Top
1 楼xiaoyuehen(OH, NO~It's Unfair!)回复于 2005-04-03 00:11:52 得分 20
Set rs = Server.CreateObject("Adodb.RecordSet")
rs.open 存储过程调用字串, 数据库连接对象, 1, 1
...Top
2 楼mymyal123(风之森)回复于 2005-04-03 01:38:45 得分 20
把记录总数和总页数等参数 作为存储存储过程的返回值传回来 adParamReturnValue 来得到
'定义存储过程有直接返回值,并且是个整数,省缺值是4
CmdSP.Parameters.Append CmdSP.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 4)
'定义一个字符型输入参数
CmdSP.Parameters.Append CmdSP.CreateParameter("@au_lname", adVarChar, adParaminput, 20, "M")
Top
3 楼zheng_hz(鸿鹄)回复于 2005-04-03 09:29:42 得分 10
ASP里面好像存储过程的参数和纪录集不能同时获取。这两天一直被这个问题困扰。Top
4 楼zheng_hz(鸿鹄)回复于 2005-04-03 09:30:29 得分 10
用set rs=cmd.execute() 获取的rs游标是0,也无法分页。Top
5 楼madpolice(午夜狂龙)回复于 2005-04-03 10:16:38 得分 0
Set rs = cmd.Execute
If rs.EOF Then
rsEofFlag = True
Else
rsArr = rs.GetRows
rsEofFlag = False
End If
rs.Close
Set rs = Nothing
PageCount = cmd.Parameters("RETURN_VALUE")
Top
6 楼xxhkill(骗子李三)回复于 2005-04-03 21:52:00 得分 0
mymyal123(风之森) :
我用了着个方法,但是正如"zheng_hz(鸿鹄)"所说,ASP里面好像存储过程的参数和纪录集不能同时获取
madpolice() :是不是一定要纪录集关掉之后才能取得返回参数?
xiaoyuehen(OH, NO~It's Unfair!) :你的方法还没试,因为有很多参数,不知道怎么弄Top
7 楼madpolice(午夜狂龙)回复于 2005-04-04 13:21:38 得分 40
答xxhkill(骗子李三) :
是Top
8 楼xiaoyuehen(OH, NO~It's Unfair!)回复于 2005-04-04 21:48:43 得分 0
sql = "存储过程 数值开型参数1, '文字型参数2', '文字型参数3'"
Set rs = Server.CreateObject("Adodb.RecordSet")
rs.open sql, 数据库连接对象, 1, 1Top




