濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > asp存儲(chǔ)過(guò)程使用大全

asp存儲(chǔ)過(guò)程使用大全

熱門標(biāo)簽:保定電銷機(jī)器人軟件 電話機(jī)器人案例 電話機(jī)器人銷售公司嗎 自動(dòng)外呼系統(tǒng)怎么防止封卡 vue 地圖標(biāo)注拖拽 鎮(zhèn)江云外呼系統(tǒng)怎么樣 成都銷售外呼系統(tǒng)公司 土地證宗地圖標(biāo)注符號(hào) 客服外呼系統(tǒng)呼叫中心
1,調(diào)用沒(méi)有參數(shù)的存儲(chǔ)過(guò)程
%
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,一個(gè)輸入的參數(shù)的存儲(chǔ)過(guò)程
%
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,一個(gè)輸入?yún)?shù)和一個(gè)輸出的參數(shù)
%
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,一個(gè)輸入?yún)?shù),一個(gè)輸出參數(shù),和一個(gè)返回值
%
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中調(diào)用SQL存儲(chǔ)過(guò)程
www.lucky365.net 2002-2-7 吉祥365

%set connection1 = Server.CreateObject("ADODB.Connection")
connection1.open ... '聯(lián)接
set command1=Server.CreateObject("ADODB.command") 
set command1.activeconnection=connection1
command1.commandtype=4 
command1.commandtext="sp_1" 'SP 名
command1.parameters(1)=... '參數(shù)值
command1.parameters(2)=...
set recordset1=command1.execute()
%>



ASP調(diào)用存儲(chǔ)過(guò)程的技巧 


1、最簡(jiǎn)單的如下
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"
沒(méi)有參數(shù),沒(méi)有返回,沒(méi)有錯(cuò)誤處理,就是這個(gè)了

2、帶參數(shù)的一種調(diào)用
objConn.Execute "exec sp_AddHit 'http://www.aspalliance.com#39;, 1"
請(qǐng)注意分割參數(shù),該方法也不返回記錄

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、存儲(chǔ)過(guò)程的代碼
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 







ASP調(diào)用帶參數(shù)存儲(chǔ)過(guò)程的幾種方式 


作者:中國(guó)論壇網(wǎng)收集 來(lái)源:http://www.51one.net 加入時(shí)間:2004-8-25  

作者: 討飯貓

ASP調(diào)用帶參數(shù)存儲(chǔ)過(guò)程的幾種方式

最近有很多的朋友問(wèn)到調(diào)用存儲(chǔ)過(guò)程的問(wèn)題,這里簡(jiǎn)單介紹幾種ASP調(diào)用帶參數(shù)存儲(chǔ)過(guò)程的方法。

1 這也是最簡(jiǎn)單的方法,兩個(gè)輸入?yún)?shù),無(wú)返回值:
set connection = server.createobject("adodb.connection")
connection.open someDSN 
Connection.Execute "procname varvalue1, varvalue2"

''將所有對(duì)象清為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

''將所有對(duì)象清為nothing,釋放資源
rs.close
connection.close
set rs = nothing
set connection = nothing

3 以上兩種方法都不能有返回值,(Recordset除外),如果要得到返回值,需要用Command的方法。
首先說(shuō)明,返回值有兩種。一種是在存儲(chǔ)過(guò)程中直接return一個(gè)值,就象C和VB的函數(shù)返回值那樣;另一種是可以返回多個(gè)值,存
儲(chǔ)這些值的變量名稱需要在調(diào)用參數(shù)中先行指定。
這個(gè)例子要處理多種參數(shù),輸入?yún)?shù),輸出參數(shù),返回記錄集以及一個(gè)直接返回值(夠全了吧?)
存儲(chǔ)過(guò)程如下:

use pubs
GO

-- 建立存儲(chǔ)過(guò)程
create procedure sp_PubsTest

-- 定義三個(gè)參數(shù)變量,注意第三個(gè),特別標(biāo)記是用于輸出
@au_lname varchar (20), 
@intID int,
@intIDOut int OUTPUT

AS

SELECT @intIDOut = @intID + 1

SELECT * 
FROM authors 
WHERE au_lname LIKE @au_lname + ''%''

--直接返回一個(gè)值
RETURN @intID + 2

調(diào)用該存儲(chǔ)過(guò)程的asp程序如下:

%@ Language=VBScript %>
%
Dim CmdSP
Dim adoRS
Dim adCmdSPStoredProc
Dim adParamReturnValue
Dim adParaminput
Dim adParamOutput
Dim adInteger
Dim iVal
Dim oVal
Dim adoField
Dim adVarChar

‘這些值在 VB 中是預(yù)定義常量,可以直接調(diào)用,但在 VBScript 中沒(méi)有預(yù)定義
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2
adInteger = 3
adVarChar = 200

iVal = 5
oVal = 3

''建一個(gè)command對(duì)象
set CmdSP = Server.CreateObject("ADODB.Command")

''建立連結(jié)
CmdSP.ActiveConnection = "Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=Pubs"

''定義command 對(duì)象調(diào)用名稱 
CmdSP.CommandText = "sp_PubsTest"

''設(shè)置command調(diào)用類型是存儲(chǔ)過(guò)程 (adCmdSPStoredProc = 4)
CmdSP.CommandType = adCmdSPStoredProc

''往command 對(duì)象中加參數(shù)
''定義存儲(chǔ)過(guò)程有直接返回值,并且是個(gè)整數(shù),省缺值是4
CmdSP.Parameters.Append CmdSP.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 4)
''定義一個(gè)字符型輸入?yún)?shù)
CmdSP.Parameters.Append CmdSP.CreateParameter("@au_lname", adVarChar, adParaminput, 20, "M")
''定義一個(gè)整型輸入?yún)?shù)
CmdSP.Parameters.Append CmdSP.CreateParameter("@intID", adInteger, adParamInput, , iVal)
''定義一個(gè)整型輸出參數(shù)
CmdSP.Parameters.Append CmdSP.CreateParameter("@intIDOut", adInteger, adParamOutput, oVal)

''運(yùn)行存儲(chǔ)過(guò)程,并得到返回記錄集
Set adoRS = CmdSP.Execute

''把每個(gè)記錄打印出來(lái),其中的字段是虛擬的,可以不用管
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

''打印兩個(gè)輸出值:
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
%>

此外還有其他方式,稍微偏門一些,以后慢慢再說(shuō)
本文參考了多篇文章,這里不一一列出。 













在Asp中使用存儲(chǔ)過(guò)程

  為了提高Asp程序的效率,有時(shí)需要在Asp中使用使用Sql Server的存儲(chǔ)技術(shù),下面簡(jiǎn)單作一個(gè)介紹。

存儲(chǔ)過(guò)程的建立 

  這里只簡(jiǎn)單介紹如何在Sql Server的企業(yè)管理器中如何建立存儲(chǔ)過(guò)程: 

(1)打開企業(yè)管理器Enterprise manager 

(2)選擇服務(wù)器組(SQL Server Group)、服務(wù)器、數(shù)據(jù)庫(kù)(Database)以及相就的數(shù)據(jù)庫(kù),鼠標(biāo)右擊對(duì)應(yīng)數(shù)據(jù)庫(kù)下的Stored Procdures項(xiàng),在彈出的菜單中選擇New Stored Procedure,在Stored Procedures Properties中輸入建立存儲(chǔ)過(guò)程的語(yǔ)句。下面是一個(gè)例子: 

  CREATE PROCEDURE proctest @mycola Char(10),@mycolb Char(10),@mycolc text  AS 

  Insert into chatdata (mycola,mycolb,mycolc) values(@mycola,@mycolb,@mycolc) 

在Sql Server的文檔中它的語(yǔ)法為: 

  CREATE PROC[EDURE] procedure_name [;number]   [ 

  {@parameter data_type} [VARYING] [= default] [OUTPUT]   ] 

  [,...n]  [WITH    {   RECOMPILE   | ENCRYPTION 

  | RECOMPILE, ENCRYPTION   }  ]  [FOR REPLICATION]  AS 

   sql_statement [...n] 

  如果你對(duì)Sql語(yǔ)法不熟悉,可以使用Check Syntax來(lái)檢查語(yǔ)法。在上例中,表示建立存儲(chǔ)過(guò)程名為mycola,帶3個(gè)參數(shù)的存儲(chǔ)過(guò)過(guò)程,其中第一個(gè)參數(shù)mycola數(shù)據(jù)類型為char,寬度10;第2個(gè)參數(shù)數(shù)據(jù)類型為char,寬度為10,第3個(gè)參數(shù)數(shù)據(jù)類型為text,在這里使用的是Sql Server的數(shù)據(jù)類型。

  存儲(chǔ)過(guò)程建立后,下面就是如何在Asp程序中調(diào)用該存儲(chǔ)過(guò)程:在Asp中調(diào)用存儲(chǔ)過(guò)程 為了提高Asp程序的效率,有時(shí)需要在Asp中使用使用Sql Server的存儲(chǔ)技術(shù),下面簡(jiǎn)單作一個(gè),在上面的增加參數(shù)的語(yǔ)句p.Append cm.CreateParameter("@mycolc",201,1,250)中,格式為: 

p.Append cm.CreateParameter("參數(shù)名稱",類型,方向,大小) 

參許參數(shù)值的類型的意義如下: 

名稱值 整數(shù)值 功能 

  adDBTimeStamp 135 日期時(shí)間數(shù)據(jù)類型 

  adDecimal 14 十進(jìn)制整數(shù)值 

  adDouble 5 雙精度小數(shù)值 

  adError 10 系統(tǒng)錯(cuò)誤信息 

AdGUID 72 全域性唯一識(shí)別字(Globally unique identifier) 

adDispath 9 COM/OLE自動(dòng)對(duì)象(Automation Object) 

adInteger 3 4字節(jié)有符號(hào)整數(shù) 

adIUnknown 13 COM/OLE對(duì)象 

adLongVarBinary 205 大型2字節(jié)值 

adLongVarChar 201 大型字符串值 

adLongVarWChar 203 大型未編碼字符串 

adNumeric 131 十進(jìn)制整數(shù)值 

adSingle 4 單精度浮點(diǎn)小數(shù) 

adSmallInt 2 2字節(jié)有符號(hào)整數(shù) 

adTinyInt 16 1字節(jié)有符號(hào)整數(shù) 

adUnsignedBigInt 21 8字節(jié)無(wú)符號(hào)整數(shù) 

adUnsignedInt 19 4字節(jié)無(wú)符號(hào)整數(shù) 

adUnsignedSmallInt 18 2字節(jié)無(wú)符號(hào)整數(shù) 

adUnsignedTinyInt 17 1字節(jié)無(wú)符號(hào)整數(shù) 

adUserDefined 132 用戶自定義數(shù)據(jù)類型 

adVariant 12 OLE對(duì)象 

adVarBinary 204 雙字節(jié)字符變量值 

adVarChar 200 字符變量值 

advarchar 202 未編碼字符串變量值 

adWchar 130 未編碼字符串 

方向值的意義如下: 

名稱值 整數(shù)值 功能 

adParamInput 1 允許數(shù)據(jù)輸入至該參數(shù)當(dāng)中 

adParamOutput 2 允許數(shù)據(jù)輸出至該參數(shù)當(dāng)中 

adParamInputOutput 3 允許數(shù)據(jù)輸入、輸出至該參數(shù)當(dāng)中 

adparamReturnValue 4 允許從一子程序中返回?cái)?shù)據(jù)至該參數(shù)當(dāng)中 

更多詳細(xì)資源請(qǐng)參考Sql Server的文檔和IIS的文檔資源。 

標(biāo)簽:臺(tái)灣 內(nèi)江 公主嶺 成都 懷化 重慶 天津 麗江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp存儲(chǔ)過(guò)程使用大全》,本文關(guān)鍵詞  asp,存儲(chǔ),過(guò)程,使用,大全,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp存儲(chǔ)過(guò)程使用大全》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于asp存儲(chǔ)過(guò)程使用大全的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    丹凤县| 永嘉县| 兰西县| 北宁市| 和静县| 噶尔县| 炉霍县| 东莞市| 大化| 清水河县| 信丰县| 紫阳县| 安平县| 临沭县| 南川市| 延边| 浮梁县| 成都市| 嵩明县| 汤原县| 合肥市| 南澳县| 尉氏县| 平远县| 许昌市| 潢川县| 临邑县| 鄂伦春自治旗| 安福县| 沭阳县| 合阳县| 绵竹市| 阳信县| 郑州市| 白沙| 盐边县| 英吉沙县| 双牌县| 平昌县| 册亨县| 隆化县|