CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

求高手帮我把这个转成用存储过程的!

楼主TerranC()2006-03-04 00:47:19 在 MS-SQL Server / 应用实例 提问

我刚刚开始学存储过程,这段数据库处理很烦琐,想转成存储过程,但又不知道怎么写,求比较高效的方法!  
  ASP代码如下:  
  Dim   rsbclass,sqlbclass  
  Set   rsbclass=Server.CreateObject("ADODB.Recordset")  
  Select   Case   topvalue  
  Case   1  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1     order   by   Hit_point   desc"  
  Case   2  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   list_mhit   desc"  
  Case   3  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   list_whit   desc"  
  Case   4  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   Jian_point   desc"  
  Case   5  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   list_mjian   desc"  
  Case   6  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   list_wjian   desc"  
  Case   7  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   Cang_point   desc"  
  Case   8  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   WordCount   desc"  
  Case   9  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   and   IsJian=1   order   by   Hit_point   desc"  
  Case   10  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   id   desc"  
  Case   11  
  sqlbclass="select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   GXtime   desc"  
  End   Select  
  rsbclass.open   sqlbclass,conn,1,1,&H0001  
  If   rsbclass.eof   and   rsbclass.bof   Then  
  response.write   "<tr   bgColor=#ffffff   height=24><td   align=center>暂无任何作品</td></tr>"  
  Else  
   
  Dim   i,n  
  i=1  
  rsbclass.PageSize=30  
  n=rsbclass.PageSize*(PageID-1)+1  
  rsbclass.AbsolutePage=PageID  
  Dim   Pages  
  Pages=rsbclass.PageCount  
  If   CInt(PageID)>Pages   Then   PageID=Pages  
  Do   While   not   rsbclass.eof   and   i<=rsbclass.PageSize  
  Response.Write("<tr   bgColor='#ffffff'   height=24>"   &   _  
  "<td   class='xt'     width=30   align='center'>"&n&"</td>"   &   _  
  "<td   class='xt'   align='center'   width=94>")  
  Dim   Crs,Csql  
  set   Crs=server.CreateObject("ADODB.recordset")  
  Csql="select   id,ClassName   from   Class   where   id="&rsbclass("ClassID")  
  Crs.open   Csql,conn,0,1,&H0001  
  If   Crs.eof   and   Crs.bof   Then  
  response.write   "被删除"  
  Else  
  Response.Write("<a   href='BookClassList.asp?id="&Crs("id")&"'>"&Crs("ClassName")&"</a>")  
  End   If  
  Crs.close  
  set   Crs=nothing  
  Response.Write("</td><td   class='xt'   align='center'   width=185><a   target='_blank'   href='BookDetail.asp?BookID="&rsbclass("id")&"'>"&rsbclass("Book_Name")&"</a></td>"   &   _  
  "<td   class='xt'   align='center'   width='250'>")  
  Dim   rscclass,sqlcclass  
  Set   rscclass=server.createobject("adodb.recordset")  
  sqlcclass="select   top   1   id,TomeName   from   [list_Tome]   where   BookID="&rsbclass("id")&"   order   by   id   desc"  
  rscclass.open   sqlcclass,conn,0,1,&H0001  
  If   rscclass.eof   and   rscclass.bof   Then  
  response.write   "暂无更新"  
  Else  
  Dim   id,rsvclass,sqlvclass  
  id=rscclass("id")  
  set   rsvclass=server.createobject("adodb.recordset")  
  sqlvclass="select   id,WordCount,ViewTitle,addtime,Islock   from   [list_view]   where   TomeID="&id&"   order   by   addtime   desc"  
  rsvclass.open   sqlvclass,conn,0,1,&H0001  
  If   rsvclass.eof   and   rsvclass.bof   Then  
  response.write   "暂无更新"  
  Else  
  Response.Write("<a   target='_blank'   href='BookViewRead.asp?BookID="&rsbclass("id")&"&ViewID="&rsvclass("id")&"'   title='更新日期:"&rsbclass("GXtime")&"'   >"&rscclass("TomeName")&"&nbsp;&nbsp;&nbsp;"&rsvclass("ViewTitle")&"</a>")  
  End   If  
  End   If  
  rscclass.close  
  rsvclass.close  
  Response.Write("</td><td   class='xt'   align='center'   width='91'>"&rsbclass("WordCount")&"   K</td>"   &   _  
  "<td   class='xt'   align='center'   width='131'>"&rsbclass("GXtime")&"</td>"   &   _  
  "<td   class='xt'   align='center'   width='90'>"   &   _  
  "<a   href='Search.asp?au_name="&rsbclass("Editer")&"'   target='_blank'>"&gotTopic(rsbclass("Editer"),8)&"</a></td>"   &   _  
  "<td   class='xt'   align='center'   width=63>")  
  Select   Case   rsbclass("IsComplete")  
  Case   1  
  Response.Write("连载中...")  
  Case   2  
  Response.Write("出版中...")  
  Case   3  
  Response.Write("已暂停...")  
  Case   4  
  Response.Write("已停止...")  
  Case   5  
  Response.Write("已完成...")  
  End   Select  
  Response.Write("</td><tr><td   colspan=8   background='images/line.gif'></td></tr>")  
  rsbclass.movenext  
  i=i+1  
  n=n+1  
  Loop  
  rsbclass.close  
  set   rsbclass=nothing  
  set   rscclass=nothing  
  set   rsvclass=nothing  
  Response.Write("</table></td></tr></table>"   &   _  
  "<table   border=0   width=100%   align=center><tr><td   align=right>第<span   style='color:red'>"&PageID&"</span>页&nbsp;共<span   style='color:red'>"&Pages&"</span>页&nbsp;")  
  If   CInt(PageID)>1   Then    
  Response.Write("<a   href='TopTen.asp?topvalue="&topvalue&"'>首页</a>&nbsp;<a   href='TopTen.asp?topvalue="&topvalue&"&PageID="&PageID-1&"'>上一页</a>&nbsp;")  
  Else  
  Response.Write("首页&nbsp;上一页&nbsp;")  
  End   If  
  If   CInt(PageID)<Pages   Then    
  Response.Write("<a   href='TopTen.asp?topvalue="&topvalue&"&PageID="&PageID+1&"'>下一页</a>&nbsp;<a   href='TopTen.asp?topvalue="&topvalue&"&PageID="&Pages&"'>尾页</a>&nbsp;")  
  Else  
  Response.Write("下一页&nbsp;尾页&nbsp;")  
  End   If  
  Response.Write("<select   name='pageid'   onchange=""location.href='TopTen.asp?topvalue="&topvalue&"&PageID='+this.value;"">")  
  For   i=1   to   Pages  
  Response.Write("<option   ")  
  If   i=CInt(PageID)   Then  
  Response.Write("selected")  
  End   If  
  Response.Write("   value="&i&">第"&i&"页</option>")  
  Next  
  Response.Write("</select></td>")  
  End   If 问题点数:50、回复次数:6Top

1 楼dutguoyi(新鲜鱼排)回复于 2006-03-04 09:20:40 得分 0

有点晕,Top

2 楼huailairen(流浪猫--很想养只猫,带着它到处流浪。)回复于 2006-03-04 10:20:27 得分 0

create   proc   Query_info  
  @topvalue   int  
  as  
  begin  
  declare   @condition     varchar(30)  
  select   @condition=(case   @topvalue  
  when   1   then   'Hit_point'  
  when   2   then   'list_mhit'  
  when   3   then   'list_whit   '  
  when   4   then   'Jian_point'  
  when   5   then   'list_mjian'  
  when   6   then   'list_wjian'  
  when   7   then   'Cang_point'  
  when   8   then   'WordCount'  
  when   9   then   'WordCount'  
  when   10   then   'Hit_point'  
  when   11   then   'id'  
  else   '')  
  if   @condition=''  
  begin  
  raiserror   5001,'参数错误!'  
  return  
  end  
  exec('select   top   100   id,ClassID,Book_Name,Editer,WordCount,IsComplete,GXtime   from   [list_book]   where   IsLock   =   1   order   by   '+rtrim(@condition)+'     desc'   )  
   
   
  end  
  Top

3 楼ycy589(ycy589)回复于 2006-03-06 16:38:36 得分 0

不错Top

4 楼TerranC()回复于 2006-03-09 13:24:42 得分 0

还有其他方法吗?Top

5 楼TerranC()回复于 2006-03-09 13:24:49 得分 0

还有其他方法吗?Top

6 楼TerranC()回复于 2006-03-09 13:24:54 得分 0

还有其他方法吗?Top

相关问题

  • 求存储过程的高手,帮忙把这个ASP代码,转成存储过程。
  • 存储过程调用存储过程
  • Oracle的存储过程如何转成SQL Server存储过程
  • 调用oracle存储过程出现错误,高手帮帮忙!
  • 懂ASP调用SQL存储过程的人帮帮忙
  • 请帮帮我:ADO存储过程调用问题
  • ASP调用存储过程问题,大伙帮帮啊~~~~~~
  • ASP调用存储过程问题,大伙帮帮啊~~~~~~
  • 使用存储过程的问题,请高手帮帮忙
  • 高手帮帮忙!用存储过程搜索的问题

关键词

  • 存储过程
  • top
  • rsbclass
  • sqlbclass
  • gxtime
  • iscomplete
  • wordcount
  • classid
  • pageid
  • book

得分解答快速导航

  • 帖主:TerranC

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo