学院首页>网络编程>ASP>asp存储过程使用

asp存储过程使用

作者: 来源: 添加时间:2006-5-21 18:43:05
1、调用没有参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{call nono}"

'set rs=cmc.exe 或者cmd.execute

set rs=cmd.Execute()

%>
2、一个输入的参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{call oneinput(?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput )
cmd("@aaa")=100

cmd.Execute()

%>
3、一个输入参数和一个输出的参数
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText = "{call oneinout(?,?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

cmd.Execute()

bbb=cmd("@bbb")
%>
4、一个输入参数,一个输出参数,和一个返回值
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{?=call onereturn(?,?)}"

cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue )
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput )
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

cmd.Execute()

bbb=cmd("@bbb")
rrr=cmd("@return_value")
%>

如何在ASP中调用SQL存储过程
<%set connection1 = Server.CreateObject("ADODB.Connection")
connection1.open ... '联接
set command1=Server.CreateObject("ADODB.command")
set command1.activeconnection=connection1
command1.commandtype=4
command1.commandtext="sp_1"  'SP 名
command1.parameters(1)=... '参数值
command1.parameters(2)=...
set recordset1=command1.execute()
%>

ASP调用存储过程的技巧

1、最简单的如下
  Dim objConn
  Set objConn = Server.CreateObject("ADOBD.Connection")
  objConn.Open Application("Connection_String")
  'Call the stored procedure to increment a counter on the page
  objConn.Execute "exec sp_AddHit"
没有参数,没有返回,没有错误处理,就是这个了

2、带参数的一种调用
objConn.Execute "exec sp_AddHit 'http://www.aspalliance.com', 1"
请注意分割参数,该方法也不返回记录

3、返回记录的
  Dim objConn
  Dim objRs
  Set objConn = Server.CreateObject("ADOBD.Connection")
  Set objRs = Server.CreateObject("ADOBD.Recordset")
  objConn.Open Application("Connection_String")
  'Call the stored procedure to increment a counter on the page
  objRs.Open objConn, "exec sp_ListArticles '1/15/2001'"
  'Loop through recordset and display each article
4、……
  Dim objConn
  Dim objCmd

'Instantiate objects
Set objConn = Server.CreateObject("ADODB.Connection")
set objCmd = Server.CreateObject("ADODB.Command")
conn.Open Application("ConnectionString")

With objCmd
  .ActiveConnection = conn 'You can also just specify a connection string here
  .CommandText = "sp_InsertArticle"
  .CommandType = adCmdStoredProc 'Requires the adovbs.inc file or typelib meta tag
 
  'Add Input Parameters
  .Parameters.Append .CreateParameter("@columnist_id", adDouble, adParamInput, , columnist_id)
  .Parameters.Append .CreateParameter("@url", adVarChar, adParamInput, 255, url)
  .Parameters.Append .CreateParameter("@title", adVarChar, adParamInput, 99, url)
  .Parameters.Append .CreateParameter("@description", adLongVarChar, _
  adParamInput, 2147483647, description)
 
  'Add Output Parameters
  .Parameters.Append .CreateParameter("@link_id", adInteger, adParamOutput, , 0)
 
  'Execute the function
  'If not returning a recordset, use the adExecuteNoRecords parameter option
  .Execute, , adExecuteNoRecords
  link_id = .Parameters("@link_id")
End With

第 1 页,共 2 页 [1] [2]
站内搜索