首页 新闻 会员 周边 捐助

一个分页存储过程中的逻辑问题!!!!急

0
悬赏园豆:20 [已解决问题] 解决于 2009-11-20 13:53

先上代码

 

Code

 

这个存储过程执行没有问题,但是逻辑有问题

用declare @dd int
exec UserInfos_SelectAllPaged 2,1,'userinfo','pkid','pkid > 1',@dd output

执行的话会发现第一页显示的两条记录,再显示第二页的时候(将1改成2),第一页的第二条记录又会出现在第二页的第一条上,这个逻辑问题要怎么改的?

死神的背影的主页 死神的背影 | 小虾三级 | 园豆:667
提问于:2009-11-20 11:44
< >
分享
最佳答案
0
  set @sql = 'select top ' + cast(@pageCount as varchar) + ' * from ' + @tableName+ 
' where ' + @primaryName + ' not in (select top ' + cast(@pageCount*(@pageNow-1) as varchar) + ' ' + @primaryName + ' from '+ @tableName+')' +
' and ' + @strFilters

你的过滤条件有问题,修改成
set @sql = 'select top ' + cast(@pageCount as varchar) + ' * from ' + @tableName+
' where ' + @primaryName + ' not in (select top ' + cast(@pageCount*(@pageNow-1) as varchar) + ' ' + @primaryName + ' from '+ @tableName
+ 'WHERE' + @strFilters +')' + ' and ' + @strFilters


收获园豆:20
persialee | 老鸟四级 |园豆:3217 | 2009-11-20 12:58
其他回答(1)
0

加一个主键参数排序试试。

清海扬波 | 园豆:825 (小虾三级) | 2009-11-20 12:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册