标题:[求助]SQL存储过程中的疑惑
只看楼主
yutaozj
Rank: 1
等 级:新手上路
威 望:1
帖 子:234
专家分:0
注 册:2006-2-17
 问题点数:0 回复次数:2 
[求助]SQL存储过程中的疑惑

自己写了这么一个存储过程,是SQL SERVER

CREATE procedure [dbo].[firstsplit](
@tableName varchar(50), --数据表名称
@tableIndex varchar(20), --表主键
@pageSize int, --每页大小
@pageIndex int, --第几页
@recordNum int output, --返回总共记录数
@pageNum int output, --返回总页数
@whereStr varchar(1000) --查询条件
)
as
set nocount on
declare @sql varchar(1000)
begin

if @tableName is null return


set @sql='select b.* from ('
set @sql=@sql+'select top '+CAST(@pagesize AS varchar)+' a.* from('
set @sql=@sql+' select top '+Cast((@pageSize*@pageIndex)as varchar)+' * from '+@tableName+' where ('+@whereStr+') order by '+@tableIndex+' desc ) as a order by mesId asc) as b order by mesId desc'
exec(@sql)

set @sql='select count('+@tableIndex+') from '+@tableName+' where '+@whereStr
exec(@sql)

set @recordNum=@@rowcount
if @recordNum % @pageSize=0
set @pageNum=ceiling(@recordNum/@pagesize)
else
set @pageNum=ceiling(@recordNum/@pageSize)+1

end
GO


然后调用如下:
<%dim page
page=request.QueryString("page")
if page="" then page=1

set cmd=server.CreateObject("adodb.command")
with cmd
.activeConnection=conn
.commandType=4
.commandText="firstsplit"
.prepared=true
.parameters.append .createParameter("@tableName",200,1,20,"message")
.parameters.append .createParameter("@tableIndex",200,1,10,"MesId")
.parameters.append .createParameter("@pageSize",3,1,,10)
.parameters.append .createParameter("@pageIndex",3,1,,page)
.parameters.append .createParameter("@recordNum",3,2)
.parameters.append .createParameter("@pageNum",3,2)
.parameters.append .createParameter("@whereStr",200,1,200,"mesEmail='yutaozj@163.com'")
set rs=.execute
end with
rs.close
response.write "<br>总共记录数:"&cmd(4)
response.write "<br>总页数:"&cmd(5)
response.write "<br>当前页:"&page&"<br>"

rs.open
do while not rs.eof
response.write rs("mesId")&"<br>"
rs.movenext
loop
rs.close()
set rs=nothing
set cmd=nothing
%>

可是返回总记录数是1,这是为什么啊?帮忙修正下啊

搜索更多相关主题的帖子: SQL int varchar output set 
2007-09-13 18:04
huangyong
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖北武汉
等 级:版主
威 望:20
帖 子:603
专家分:7
注 册:2006-7-21
得分:0 
你还是把文章发到编程相关的版块吧!
2007-09-13 20:30
yutaozj
Rank: 1
等 级:新手上路
威 望:1
帖 子:234
专家分:0
注 册:2006-2-17
得分:0 
这也是ASP中一块总要的编程啊!

愿天下所有的人都喜欢编程~!@¥#%……&*(——+
2007-09-15 19:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-169731-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.097364 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved