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

前些天,阿里西西web团队(Alixixi.com)在开发一个系统平台时,需要通过存储过程调用多个表的几个字段,合并到一个临时表中,并进行排序返回给ASP调用。

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

1、存储过程部分:

以下是存储过程部分:
CREATE PROCEDURE [dbo].[alixixi]
@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

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

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

exec alixixi 5,’addtime’

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

以下是引用片段:
 dim cmd
 Set Rs =Server.CreateObject("ADODB.Recordset")
 Set Cmd = Server.CreateObject("ADODB.Command")
 Set Cmd.ActiveConnection=Conn
 Cmd.CommandText="alixixi"
 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存储过程,并返回临时表记录集。

时间: 2024-10-16 13:06:15

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

ASP调用带参数存储过程的几种方式_存储过程

ASP调用带参数存储过程的几种方式     选择自 hxfwsk 的 Blog   关键字   存储过程  出处      作者: 讨饭猫 ASP调用带参数存储过程的几种方式 最近有很多的朋友问到调用存储过程的问题,这里简单介绍几种ASP调用带参数存储过程的方法. 1 这也是最简单的方法,两个输入参数,无返回值: set connection = server.createobject("adodb.connection") connection.open someDSN  Conne

ASP 调用带参数输出的COM接口_应用技巧

COM接口VC实现,接口: [id(1), helpstring("method Test")] HRESULT Test([in] BSTR strInputA, [in] BSTR strInputB, [out,retval] VARIANT* result); ASP调用: Set objCompInfo =server.CreateObject("组件在系统中的名字") result=objCompInfo.Test(arrIn,arrout) "

ASP 调用带参数输出的COM接口

COM接口VC实现,接口: [id(1), helpstring("method Test")] HRESULT Test([in] BSTR strInputA, [in] BSTR strInputB, [out,retval] VARIANT* result); ASP调用: Set objCompInfo =server.CreateObject("组件在系统中的名字") result=objCompInfo.Test(arrIn,arrout) "

ASP调用带输入参数值及返回临时表记录集的存储过程

存储过程|记录集|临时表 存储过程编写注意事项:1.首先带有输入值,那么必须在存储过程声明一个输入值变量,如下代码: 以下是存储过程代码片段:ALTER  PROCEDURE 存储过程名 @year int '这行是定义输入的变量名 AS 2.由于是返回表,在存储过程开始AS部分部分必须加入set nocount on语句,如下代码: 以下是存储过程代码片段:ALTER  PROCEDURE HD_CK_XSHZ  @year int  AS set nocount on '调用临时表必须有些语

用ASP调用存储过程返回临时表记录集的一个示例代码

存储过程|记录集|临时表|示例 以下是ASP代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!--#include file="../conn.asp"--> <!--#include file="adovbs.inc"--> <!--#include file="../inc/check_login.asp"--> &

ASP调用MSSQL存储过程并返回记录集源码详解

存储过程|记录集|详解 以下是asp代码(demo.asp):<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!--#include file="adovbs.inc"--> <% '通用的ASP读取MSSQL存储过程代码示例 '返回临时表记录集 '带传递参数 dim conn,connstr,cmd,rs connstr = "Provider=SQLOLEDB;serv

dwr-DWR调用带参数的java方法调试不通

问题描述 DWR调用带参数的java方法调试不通 DWR调用带参数的java方法调试不通,代码如下,求帮忙. ///dwr.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr

C#线程调用带参数的方法

在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法. 第一种:使用ParameterizedThreadStart. 调用 System.Threading.Thread.Start(System.Object) 重载方法时将包含数据的对象传递给线程. 使用 ParameterizedThreadStart 委托不是传递数据的类型安全的方法,因为 System.Threading.Thread.Start(System.Object) 方法重载接受任何对象. 这

asp执行带参数的sql语句实例_应用技巧

asp执行带参数的sql语句,需要向sql语句添加参数,可以有效屏蔽SQL注入,源代码如下: 复制代码 代码如下: var conn = Server.CreateObject("ADODB.Connection"); conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Test.mdb"); conn.Open();