专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

ASP调用带参数的MSSQL存储过程,并返回临时表记录集

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:13:58       共计:3611 浏览

前些天,网页设计爱好者web团队(.com)在开发一个系统平台时,需要通过存储过程调用多个表的几个字段,合并到一个临时表中,并进行排序返回给asp调用。

下面,我把经验分享出来:

1、存储过程部分:

以下是存储过程部分:
create procedure [dbo].[]
@snum int,
@sorder varchar(20)
 as
set nocount on
create table #btable (id int,channelid int,classid int,title varchar(250),imageurl varchar(250),htmlfiledate varchar(250),addtime datetime)
execute(’insert into #btable select top ’+@snum+’ id,fid,cid,title,imageurl,myurl,writetime from ali_tb1 where isbest=1’)
execute(’insert into #btable select top ’+@snum+’ id,fid,cid,topic,photourl,siteurl,addtime from ali_tb2 where isbest=1’)
execute(’select * from #btable order by ’+@sorder+’ desc’)
go

这个存储过程的作用是建立一个名为的存储过程,并带有两个参数snum及sorder,作用是可以灵活的通过参数控制显示返回的记录数和排序方法。

在mssql查询分析器里,我们可以通过这样的形式执行存储过程来返回两个表各5条记录(一共10条):


exec  5,’addtime’

下面,我们说说在asp中调用的方法(conn为数据库连接,请检查你的环境,相关数据库连接代码这里不列出)。


以下是引用片段:
 dim cmd
 set rs =server.createobject("adodb.recordset")
 set cmd = server.createobject("adodb.command")
 set cmd.activeconnection=conn
 cmd.commandtext=""
 cmd.parameters.append cmd.createparameter("@snum",3,1,4,50)  
 cmd.parameters.append cmd.createparameter("@sorder",200,1,20,"addtime") 
 cmd.commandtype=4
 set rs=cmd.execute
 set cmd = nothing
if not rs.eof then
 do while not rs.eof
  response.write rs(0) & "<br>"
 rs.movenext
 loop
else
 response.write "无记录"
end if
set rs=nothing

通过以上方法,我们就可以实现asp调用带参数的mssql存储过程,并返回临时表记录集。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:Html.DropDownList()的用法 ( Asp.Net MVC) | ·下一条:SQL2005 中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有