asp中如何调用存储过程
1 这也是最简单的方法,两个输入参数,无返回值:
set connection = server.createobject("adodb.connection")
connection.open somedsn
connection.execute "procname varvalue1, varvalue2"
'将所有对象清为nothing,释放资源
connection.close
set connection = nothing
2 如果要返回 recordset 集:
set connection = server.createobject("adodb.connection")
connection.open somedsn
set rs = server.createobject("adodb.recordset")
rs.open "exec procname varvalue1, varvalue2",connection
'将所有对象清为nothing,释放资源
rs.close
connection.close
set rs = nothing
set connection = nothing
3 以上两种方法都不能有返回值,(recordset除外),如果要得到返回值,需要用command的方法。
首先说明,返回值有两种。一种是在存储过程中直接return一个值,就象c和vb的函数返回值那样;
另一种是可以返回多个值,存储这些值的变量名称需要在调用参数中先行指定。
这个例子要处理多种参数,输入参数,输出参数,返回记录集以及一个直接返回值(够全了吧?)
存储过程如下:
use pubs
go
-- 建立存储过程
create procedure sp_pubstest
-- 定义三个参数变量,注意第三个,特别标记是用于输出
@au_lname varchar (20),
@intid int,
@intidout int output
as
select @intidout = @intid + 1
select *
from authors
where au_lname like @au_lname + '*'
--直接返回一个值
return @intid + 2
调用该存储过程的asp程序如下:
<*@ language=vbscript *>
<*
dim cmdsp
dim adors
dim adcmdspstoredproc
dim adparamreturnvalue
dim adparaminput
dim adparamoutput
dim adinteger
dim ival
dim oval
dim adofield
dim advarchar
‘这些值在 vb 中是预定义常量,可以直接调用,但在 vbscript 中没有预定义
adcmdspstoredproc = 4
adparamreturnvalue = 4
adparaminput = 1
adparamoutput = 2
adinteger = 3
advarchar = 200
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器