很奇怪的存储过程 对价格,点击率 排序并分页没反应

一经注册不得修改 2010-12-17 01:01:37
很多人应该在用这个存储这程,但我发现用它来对价格还有点击率进行排序分页,当价格还有点击率有很多复重值(或是说当初始值全为0)时就取不出数据了,只有第一页才能取出,有人解决过这个问题吗,看过这个存储过程的请无视下面的代码谢谢


CREATE PROCEDURE pagination3

@tblName varchar(255), -- 表名

@strGetFields varchar(1000) = '*', -- 需要返回的列

@fldName varchar(255)='', -- 排序的字段名

@PageSize int = 10, -- 页尺寸

@PageIndex int = 1, -- 页码

@doCount bit = 0, -- 返回记录总数, 非 0 值则返回

@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序

@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)

AS

declare @strSQL varchar(5000) -- 主语句

declare @strTmp varchar(110) -- 临时变量

declare @strOrder varchar(400) -- 排序类型



if @doCount != 0

begin

if @strWhere !=''

set @strSQL = 'select count(*) as Total from [' + @tblName + '] where '+@strWhere

else

set @strSQL = 'select count(*) as Total from [' + @tblName + ']'

end

--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况

else

begin



if @OrderType != 0

begin

set @strTmp = '<(select min'

set @strOrder = ' order by [' + @fldName +'] desc'

--如果@OrderType不是0,就执行降序,这句很重要!

end

else

begin

set @strTmp = '>(select max'

set @strOrder = ' order by [' + @fldName +'] asc'

end



if @PageIndex = 1

begin

if @strWhere != ''

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder

else

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName + '] '+ @strOrder

--如果是第一页就执行以上代码,这样会加快执行速度

end

else

begin

--以下代码赋予了@strSQL以真正执行的SQL代码

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['

+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'+ @strOrder



if @strWhere != ''

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['

+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['

+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['

+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '

+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder

end

end

exec (@strSQL)
GO
...全文
77 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wxf163 的回复:]
exec (@strSQL)

换成print (@strSQL)
看看SQL 怎么执行的
[/Quote]
谢谢,确实找到了问题,
select top 10 * from [T_A_TH_goods] where [T_G_goods_N]<=(select min([T_G_goods_N]) from (select top 40 [T_G_goods_N] from [T_A_TH_goods] order by [T_G_goods_N] desc) as tblTmp) order by [T_G_goods_N] desc
问题是T_G_goods_N里的所有值全有0,这样子这个存储过程好像就起不了作用了,有人能帮忙改改吗?这个存储过程很通用的,应该早有人发现这个问题吗?是否可以多字段排序?
王向飞 2010-12-17
  • 打赏
  • 举报
回复
exec (@strSQL)

换成print (@strSQL)
看看SQL 怎么执行的
科汛cms(Kesioncms)是基于采用网络中已经成熟、稳定的技术ASP+ACCESS(SQL2000/2005)开发而成,利用本系统您可以很方便地管理自己的网站。本系统是一款由文章、图片、下载、分类信息、商城、求职招聘、影视、动漫(flash)、音乐、广告系统、个人/企业空间、小型互动论坛、友情链接、公告、调查等20多个功能模块,并集成自定义模型、自定义字段等功能组合而成的强大、易用、扩展性强的开源网站管理软件。 我们认为“简单就是美”,因此一直以来,科汛开发人员在开发过程中无处不充分考虑用户的使用习惯,尽最大可能降低用户的使用门槛,让用户关注于内容维护本身, 而不需要投入过多的时间来学习系统的使用技巧,在细节处下大工夫。 Kesioncms系统功能完善,覆盖面广、扩展性强、负载能力好、模板调用非常灵活、管理方便,因此不仅适合于建设一般企业、政府、学校、个人等小型网站,同时也适合于建设地方门户、行业门户、收费网站等大中型网站。 主要特性: 1、系统采用模块化开发,可自由屏蔽暂时有用到的功能模型,同时又是一款100%开源的程序,二次开发更方便。 2、系统支持整站生成HTML静态和动态ASP 整个系统都可以生成静态HTML,有效的提高了系统的性能,不仅减轻服务器的负载提高搜索收录率,增加网站收录。同时也可以实现内容收费和访问权限控制。 超多种生成文件命名形式可供选择,您可以随心所欲的设置要生成的扩展名,一切更可能的根据您的喜好DIY。 经过开发人员的优化,生成速度非常快,操作便捷。生成文件名以倒序方式生成:如index_100.html,index_99.html,index_88.html,自由设置每次生成的页数! 这种好处当您的栏目下有上万篇文章时越是明显,因为每次生成时不需要将所有页面重新生成一次,只需要根据预设定的生成最新更新的记录即可! 3、 系统由文章、图片、下载、分类信息、商城、求职招聘、影视、动漫(flash)、音乐、广告系统、个人/企业空间、小型互动论坛、友情链接、公告、调查等20多个功能模块组成。 用户可以选择性的购买和安装所需功能模块,而且还可以根据自定义模型、自定义字段功能开发新的功能模块,如房产系统,企业调查,在线报名等系统以满足个性化需求。 4、 网站模板与程序分离,支持多种标签调用,支持DIV+CSS,通过模板设计便可实现个性化网站 科汛cms实现了“网站模板与程序完全分离”的新概念,独创ajax输出和JS标签跨站调用,支持不同频道、栏目、专题、内容页应用不同的模板,支持批量绑定模板,模板换肤更是一键之谈。 模板制作也非常方便,用户可以发布自己制作的模板,也可以下载安装他人分享的模板。 不需写任何一行代码,可以使用自己熟悉的工具,如Frontpage、Dreamwaver等来制作模板。用户完全可以自行设计模板,从而更好的体现用户的个性和特色。 5、上传文件清理大大节约空间资源:系统后台可以根据管理员操作的项目来清理无效、过期的文件,从而大大节约了空间,节约了成本。 6、支持无限级栏目,可绑定二级域名,而且各栏目下的数据可以移动、合并 7、系统支持自定义模型,自定义字段,用户可根据需要基于文章、下载、图片模型创建新的频道,可轻松建站如房产,在线报名等系统功能,帮助用户轻松建立大型站点。 所以,您不需要懂代码,无需编程便可轻松扩展系统功能满足个性化需求 8、自定义字段功能:可自由设置字段类型、字段类型(单行文本、多行文本、下拉列表、数字、日期、单选按钮、多选按钮、电子邮箱、文件)、表单选项限制(功能启用时间限制、是否只允许会员提交、每个会员是否只允许提交一次),可按自定义字段搜索和排序。会员注册和各频道都支持自定义字段功能,用户可根据需要设置自定义字段扩展功能满足个性化需求。 9、全站所有模型支持Tags标签,主动式信息分类让信息相互链接,提高站点 PV 10、支持自定义SQL标签调用,可自由设定数据源,从而调用除Kesioncms系统外的其它外部数据库资源,并且调用的其它外部数据可以分页。 11、相关链接可根据关联条件查询。 12、支持频道绑定独立域名、各频道数据分表存储、自定义字段、后台按频道分级管理,帮助用户轻松建立大型站点。 13、支持频道绑定独立域名、各频道数据分表存储、自定义字段、后台按频道分级管理,帮助用户轻松建立大型站点。 14、支持在线支付和充值卡充值功能,可选择支付宝、网银在线等支付平台,提供完善的财务管理功能和消费明细,每个栏目都可以进行完善的权限设定(浏览、查看、投稿发表等各种权限)和内容收费,可帮助用户轻松建立电子商务网站。 15、提供API整合接口,可整合主流论坛、博客等软件,轻松实现多个程序紧密结合。 可同时整合动网论坛、oblog等第三方软件,轻松实现会员一站通,帮助用户轻松实现“cms + 论坛 + 博客”的多功能门户方案。 16、提供utf-8编码和语言包,可建设国际化站点 同时提供GBK和UTF-8软件包,用户可以根据需要把模板和语言包翻译成其他语言,为多语言环境的开发提供了便利,助你的站点迈向世界。 17 、支持多级管理权限控制,让网站多人维护更轻松 系统支持按频道和模块分别设置栏目管理员和模型管理员,同时还可以根据需求分配不同的权限给他们进行管理,帮助用户轻松实现网站多人维护。 18、多重安全机制和权限控制,为网站安全保驾护航 支持后台访问目录更名、Cookie加密、验证码、认证码、IP锁定、IP白名单、防SQL注入、防跨站脚本、防脚本文件上传等多重安全机制,并且后台支持按频道和模块严格控制访问权限,为网站的安全运营提供最强有力的保障。 19、独创标签AJAX输出,采用无刷新ajax分页技术,不仅栏目生成速度大大提高,还有效的防止列表被采集,标签可支持ajax->table,ajax->div+css,table,div+css四种调用方式,独创标签导入导出功能,让您更方便标签的共享、备份等操作。 20、百度、GOOGLE站点地图功能,生成和自动更新提交站点最新信息,可以大大的提高收录量。 21、强大的(信息)采集系统,可采文章信息,方便用户系统性的收集信息,使用简单,只需懂点html基础代码即可;支持内容、列表分页采集、多重过滤和内容字符替换:支持远程保存图片、批量入库操作、可预览采集结果。 22、圈子功能:圈子又称群组,此功能对调动用户积极性,挖掘相同爱好的博友推波助澜。每个圈子都有独立的模板和管理员,娱乐,学习,互动,随意创建,用户体验非常好。 23、DIGG功能:Digg中文翻译为“鼎革”,或者“顶格”, 它采取的是用户驱动的机制,通过一种类似民主投票的方式来表示对信息的支持和认可,使得被digg多的信息脱颖而出,出现在digg页面上。众多用户对此功能的评价是时尚+实用。 24、评论功能:网站是供大家交流的平台,后台可以启用审核与非审核模式。当有不合适不合时的言论,管理员只需审核这些评论即可,这一功能,大大减少了管理员的工作量,维护了网站的正常运行。 可以对任意频道和模块里的任意内容附加评论,支持评论中加入表情图标,可对单一评论回复和投鲜花鸡蛋,支持是否开启评论,游客回复等; 25、相册功能:用户可以开通相册,上传并管理自己的靓照。 26、系统具有强大的数据库字段替换功能;强大的在线执行SQL语句功能。 27、强大的数据备份和恢复功能,可以在线备份、恢复、压缩数据库。 28、评论独创Ajax让发表评论更为方便。用户体验的新突破,有效地提高用户讨论的兴趣。 29、支持广告类型:gif图片广告、FLASH广告、文字广告、HTML代码广告。 支持7种广告位显示方式: 页内嵌入循环:就是将广告位直接置入某页面一固定位置,并在同一位置循环显示广告位中的所有正常广告条,这样,每刷新一次就会更替显示一个新的广告条 上下排列置入:从上到下竖排广告位中的所有正常广告条 左右排列置入:从左到右横排广告位中的所有正常广告条 向上滚动置入:向上滚动显示广告位中的所有正常广告条 向左滚动置入:向左滚动显示广告位中的所有正常广告条 弹出多个窗口:页面打开时同时弹出多个窗口,每个窗口内显示一个广告条,弹出数量跟该广告位中的正常广告条数一致 循环弹出窗口:页面打开时同时弹出一个窗口,在同一窗口内循环显示广告位中的正常广告,这样,每刷新一次就会在弹出窗口中更替显示一个新的广告条 只需后台修改广告即可更新广告;可设置广告过期时间,通用于站内所有位置调用,让你的站点处处体现商机。 30、多种导航菜单管理(普通导航菜单,顶部菜单,树形菜单),可根据网站需要自行选择导航方式,更加方便。 31、后台操作日志管理,完整记录所有后台操作,可通过日志查出非法操作记录提供证据。 32、保存远程图片,添加或采集信息时,可选择远程保存图片到本地服务器,防止对方删除图片或者服务器不正常时图片不显示。 33、水印缩略图,可按要求等比缩小,可按要求在指定位置加图片或文字水印,提升内容被转载后的宣传机会。 34、两种编辑器选择,可视化编辑器,类似word的所件即所得的在线内容编辑功能,支持表格、图片、FLASH、多种格式播放器插入,支持图片和附件上传。 35、字符过滤,自动过滤敏感字符,避免损害网站形象、避免网站被公安机关强制关闭。 36、关联链接,自由设置站内关联链接,自动给内容中的一些关键词加上链接,引导浏览者查看更多内容,提高网站黏度; 37、数据库字段替换,可批量替换各个数据表中指定字段的内容,快速纠正错误。 38、强大的会员互动功能 支持企业会员和个人会员 支持会员注册、登录、退出、审核、锁定、资料修改等基本功能; 支持新会员注册时多种验证方式,邮件验证、管理员审核、密码找回; 支持一个会员账号只允许一个会员登录,可以有效防止一个会员账号多人使用的情况; 支持自定义会员注册自段,轻松地收集所需的会员资料; 支持会员登录时是否需要验证码; 支持自定义会员组 支持注册会员赠送资金、积分、点券、有效期等计费方式并可兑换产品; 支持新会员注册时发送站内短信通知 支持在后台预设注册时禁止使用的用户名 支持与第三方软件如论坛整合,轻松实现cms与论坛会员同步注册、登录和退出; 支持前台会员投稿功能,可以让会员好的东西与大家分享 支持发送站内短信,邮件群发 支持我的收藏,我发表的评论管理 支持会员点券,有效期,资金明细,充值卡管理等 39、友情链接 支持链接分类、支持前台申请后台审核,支持按文字、logo等多种方式显示,可统计点击次数; 40、 站内调查模块 可设置单选或多选,可设置投票的有效期限,可限制同一IP在24小时内只能进行一次投票; 41、 单页面 可创建单个网页,模板和html生成路径都可以自定义。例如:公司介绍、联系我们等,在各种网站均能应用。 42、留言本(小型互动论坛) 访问者可以发表留言咨询,管理员可在后台进行回复,实现访可与管理员的互动交流; 43、 自定义网页 由于现有的页面都是开发人员根据一定的需求模型设计的,可能难以满足网站的个性化需求;您可以通过此功能自己定义网页,并通过模板和标签来控制该页面的内容,以满足个性需求。 44、文章页有上一篇,下一篇,长文章可以自动分页,信息量大,适合搜索引擎收录。 45、下载系统采用服务器管理方案,支持Web迅雷,FlashGet联盟等的专用下载,帮助用户轻松建立专业下载网站。 46、全新引入Application+XML缓存机制,大大提高了系统的生成速度及运行效率 47、全站所有频道(只要涉及到图片)均可自动添加水印及生成缩略图功能及幻灯片功能。 48、影视系统支持多种格式(如:.rm,.rmvb,.ra;.wmv,.avi,.asf,.wm等),还支持当前最流行的Flv格式,支持会员上传功能,极有力的增强站内互动。 49、系统集成CC视频插件,其它还有很多的细节功能,大家使用过程中慢慢就知道了...... 总之:科汛内容网站管理系统适合于各级政府机关、教育机构、组织协会、媒体、企事业单位用来建设地区门户、行业门户、单位内网和外网和收费网站等。从2006年发布至今得到了广大用户的认可及支持,而我们的Kesioncms管理系统也必将成为您建设网站及网站运营的最佳选择。

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧