roc = 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 & "<br>" & vbCRLF
Next
Response.Write "<br>"
adoRS.MoveNext
Wend
''''打印两个输出值:
Response.Write "<p>@intIDOut = “ & CmdSP.Parameters("@intIDOut").Value & "</p>"
Response.Write "<p>Return value = " & CmdSP.Parameters("RETURN_VALUE").Value & "</p>"
''''大扫除
Set adoRS = nothing
Set CmdSP.ActiveConnection = nothing
Set CmdSP = nothing
%>
此外还有其他方式,稍微偏门一些,以后慢慢再说
本文参考了多篇文章,这里不一一列出。
在Asp中使用存储过程
为了提高Asp
程序的效率,有时需要在Asp中使用使用Sql Server的存储技术,下面简单作一个介绍。
存储过程的建立
这里只简单介绍如何在Sql Server的企业管理器中如何建立存储过程:
(1)打开企业管理器Enterprise manager
(2)选择服务器组(SQL Server Group)、服务器、数据库(Database)以及相就的数据库,鼠标右击对应数据库下的Stored Procdures项,在弹出的菜单中选择New Stored Procedure,在Stored Procedures Properties中输入建立存储过程的语句。下面是一个例子:
CREATE PROCEDURE proctest @mycola Char(10),@mycolb Char(10),@mycolc text AS
Insert into chatdata (mycola,mycolb,mycolc) values(@mycola,@mycolb,@mycolc)
在Sql Server的文档中它的语法为:
CREATE PROC[EDURE] procedure_name [;number] [
{@parameter data_type} [VARYING] [= default] [OUTPUT] ]
[,...n] [WITH { RECOMPILE | ENCRYPTION
| RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS
sql_statement [...n]
如果你对Sql语法不熟悉,可以使用Check Syntax来检查语法。在上例中,表示建立存储过程名为mycola,带3个参数的存储过过程,其中第一个参数mycola数据类型为char,宽度10;第2个参数数据类型为char,宽度为10,第3个参数数据类型为text,在这里使用的是Sql Server的数据类型。
存储过程建立后,下面就是如何在Asp程序中调用该存储过程:在Asp中调用存储过程 为了提高Asp
程序的效率,有时需要在Asp中使用使用Sql Serv