Asp & Porcedure

來源:互聯網
上載者:User

<%
 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

 5、預存程序的代碼

 Create PROCEDURE dbo.sp_InsertArticle
 (
 @columnist_id int,
 @url varchar(255),
 @title varchar(99),
 @description text
 @link_id int OUTPUT
 )
 AS
 BEGIN
 INSERT INTO dbo.t_link (columnist_id,url,title,description)
 VALUES (@columnist_id,@url,@title,@description)
 
 SELECT @link_id = @@IDENTITY
 END

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.