ASP中如何调用存储过程的方法
2018-09-10 01:13:50来源:爱站网 阅读 ()
今天小编跟大家分享一下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程序如下:
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
iVal?=?5
oVal?=?3
'建一个command对象
set?CmdSP?=?Server.CreateObject("ADODB.Command")
'建立连结
CmdSP.ActiveConnection?=?"Driver={SQL?Server};server=(local);Uid=sa;Pwd=;Database=Pubs"
'定义command?对象调用名称?
CmdSP.CommandText?=?"sp_PubsTest"
'设置command调用类型是存储过程?(adCmdSPStoredProc?=?4)
CmdSP.CommandType?=?adCmdSPStoredProc
'往command?对象中加参数
'定义存储过程有直接返回值,并且是个整数,省缺值是4
CmdSP.Parameters.Append?CmdSP.CreateParameter("RETURN_VALUE",?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)
'运行存储过程,并得到返回记录集
Set?adoRS?=?CmdSP.Execute
'把每个记录打印出来,其中的字段是虚拟的,可以不用管
While?Not?adoRS.EOF
for?each?adoField?in?adoRS.Fields
Response.Write?adoField.Name?&?"="?&?adoField.Value?&?"
"?&?vbCRLF
Next
Response.Write?"
"
adoRS.MoveNext
Wend
'打印两个输出值:
Response.Write?"
@intIDOut?=?“?&?CmdSP.Parameters("@intIDOut").Value?&?"
"
Response.Write?"
Return?value?=?"?&?CmdSP.Parameters("RETURN_VALUE").Value?&?"
"
'大扫除
Set?adoRS?=?nothing
Set?CmdSP.ActiveConnection?=?nothing
Set?CmdSP?=?nothing
%>
此外还有其他方式,稍微偏门一些,以后慢慢再说
本文参考了多篇文章,这里不一一列出。
以上就是ASP中如何调用存储过程的方法的介绍,希望小编整理的相关知识和资料都对你们有所帮助,更多内容请继续关注爱站技术频道网站!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:分享一个简单的过滤广告代码
- asp中设置session过期时间方法总结 2020-03-30
- asp中日期时间函数介绍 2020-03-30
- asp教程中get post提交表单有5点区别 2020-03-30
- ASP 时间函数及如何获取服务器时间的写法 2020-03-30
- asp中的ckEditor的详细配置小结 2020-03-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash