
全部展开
如何在ASP中调用存储过程1这也是最简单的方法,两个输入参数,没有返回值:
设置连接= server.createobject(“ adodb.connection”)
connection.open someDSN
连接. 执行“ procname varvalue1,varvalue2”
“清除所有对象并释放资源
connection.close
设置连接=无
2如果要返回记录集集:
设置连接= server.createobject(“ adodb.connection”)
connection.open someDSN
set rs = server.createobject(“ adodb.recordset”)
rs. 打开“ Exec procname varvalue1,varvalue2”,连接
“清除所有对象并释放资源
rs.close
connection.close
设置rs =无
设置连接=无
3上面两个方法不能有返回值(Recordset除外). 如果要获取返回值,则需要使用Command方法.

首先,有两个返回值. 一种是直接在存储过程中返回一个值,就像C和VB函数的返回值一样.
另一个是可以返回多个值. 存储这些值的变量名需要首先在调用参数中指定.
此示例必须处理多个参数,输入参数,输出参数,返回记录集和直接返回值(足够吗?)
存储过程如下:
使用酒吧
GO
-创建存储过程
创建过程sp_PubsTest
-定义三个参数变量,注意第三个mysql怎么调用存储过程,特殊标记用于输出.
@au_lname varchar(20),
@intID int,
@intIDOut int输出
AS
SELECT @intIDOut = @intID +1
选择*
FROM作者
其中au_lname喜欢@@ au_lname +'%'
-直接返回值
返回@intID + 2

调用存储过程的asp程序如下:
<%@语言= VBScript%>
<%
昏暗的CmdSP
Dim adoRS
昏暗adCmdSPStoredProc
昏暗的adParamReturnValue
昏暗的adParaminput
昏暗的adParamOutput
昏暗的adInteger
Dim iVal
昏暗的椭圆形
Dim adoField
昏暗的adVarChar
‘这些值是VB中的预定义常量,可以直接调用,但不能在VBScript中预定义
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2

adInteger = 3
adVarChar = 200
iVal = 5
oVal = 3
'构建命令对象
set CmdSP = Server.CreateObject(“ ADODB.Command”)
'创建链接
CmdSP.ActiveConnection =“驱动程序= {SQL Server};服务器=(本地); Uid = sa; Pwd =;= Pubs”
'定义命令对象调用名称
CmdSP.CommandText =“ sp_PubsTest”
'设置命令调用类型为存储过程(adCmdSPStoredProc = 4)
CmdSP.CommandType = adCmdSPStoredProc
'将参数添加到命令对象
'定义存储过程具有直接返回值,并且是整数,默认值为4
CmdSP.Parameters.Append CmdSP.CreateParameter(“ RETURN_VALUE”mysql怎么调用存储过程,adInteger,adParamReturnValue,4)
'定义字符输入参数
CmdSP.Parameters.Append CmdSP.CreateParameter(“ @ au_lname”,adVarChar,adParaminput,20,“ M”)
'定义整数输入参数
CmdSP.Parameters.Append CmdSP.CreateParameter(“ @ intID”,adInteger,adParamInput,iVal)

'定义一个整数输出参数
CmdSP.Parameters.Append CmdSP.CreateParameter(“ @ intIDOut”,adInteger,adParamOutput,oVal)
'运行存储过程并获取返回的记录集
设置adoRS = CmdSP. 执行
“打印每条记录,这些字段是虚拟的,您可以不理会它
不是adoRS.EOF
对于adoRS.Fields中的每个adoField
Response.Write adoField.Name&“ =”&adoField.Value&“
”&vbCRLF
下一步
响应. 写下“
”
adoRS.MoveNext
参加
'打印两个输出值:
响应. 写入“
@intIDOut =“&CmdSP.Parameters(” @ intIDOut“). 值&”
”
响应. 写入“
返回值=“&CmdSP.Parameters(” RETURN_VALUE“). 值&”
”
设置adoRS =无
设置CmdSP.ActiveConnection =无
设置CmdSP =没有
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-159463-1.html
太他妈丑了