




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 在ASP中,一般通過command對象調(diào)用存儲過程,根據(jù)不同情況,本文也介紹其它調(diào)用方法。為了方便說明,根據(jù)存儲過程的輸入輸出,作以下簡單分類: 1. 只返回單一記錄集的存儲過程 假設(shè)有以下存儲過程(本文的目的不在于講述T-SQL語法,所以存儲過程只給出代碼,不作說明): /*SP1*/ CREATE PROCEDURE dbo.getUserList as
2、0; set nocount on begin select * from dbo.userinfo end go 以上存儲過程取得userinfo表中的所有記錄,返回一個記錄集。通過command對象調(diào)用該存儲過程的ASP代碼如下:
3、160;'*通過Command對象調(diào)用存儲過程* DIM MyComm,MyRst Set MyComm = Server.CreateObject("ADODB.Command") MyComm.ActiveConnection = MyConStr 'MyConStr是數(shù)據(jù)庫連接字串
4、0; MyComm.CommandText = "getUserList" '指定存儲過程名 MyComm.CommandType = 4
5、; '表明這是一個存儲過程 MyComm.Prepared = true '要求將SQL命令先行編譯 Set MyRst = MyComm.Execute Set MyCo
6、mm = Nothing 存儲過程取得的記錄集賦給MyRst,接下來,可以對MyRst進行操作。 在以上代碼中,CommandType屬性表明請求的類型,取值及說明如下: -1 表明CommandText參數(shù)的類型無法確定 1 表明CommandText是一般的命令類型
7、160; 2 表明CommandText參數(shù)是一個存在的表名稱 4 表明CommandText參數(shù)是一個存儲過程的名稱 還可以通過Connection對象或Recordset對象調(diào)用存儲過程,方法分別如下: '*通過Connection對象調(diào)用存儲過程*
8、 DIM MyConn,MyRst Set MyConn = Server.CreateObject("ADODB.Connection") MyConn.open MyConStr
9、0; 'MyConStr是數(shù)據(jù)庫連接字串 Set MyRst = MyConn.Execute("getUserList",0,4) '最后一個參斷含義同CommandType Set MyConn = Nothing '*通過Recordset對象調(diào)用存儲過程* DIM MyR
10、st Set MyRst = Server.CreateObject("ADODB.Recordset") MyRst.open "getUserList",MyConStr,0,1,4 'MyConStr是數(shù)據(jù)庫連接字串,最后一個參斷含義與CommandType相同 2. 沒有輸入輸出的存儲過程
11、; 請看以下存儲過程: /*SP2*/ CREATE PROCEDURE dbo.delUserAll as set nocount on begin delete from dbo.userinfo end
12、; go 該存儲過程刪去userinfo表中的所有記錄,沒有任何輸入及輸出,調(diào)用方法與上面講過的基本相同,只是不用取得記錄集: '*通過Command對象調(diào)用存儲過程* DIM MyComm Set MyComm = Server.CreateObject("ADODB.Command") MyComm.ActiveConnection =
13、 MyConStr 'MyConStr是數(shù)據(jù)庫連接字串 MyComm.CommandText = "delUserAll" '指定存儲過程名 MyComm.CommandType
14、 = 4 '表明這是一個存儲過程 MyComm.Prepared = true &
15、#160; '要求將SQL命令先行編譯 MyComm.Execute '此處不必再取得記錄集 Set MyComm = No
16、thing 當(dāng)然也可通過Connection對象或Recordset對象調(diào)用此類存儲過程,不過建立Recordset對象是為了取得記錄集,在沒有返回記錄集的情況下,還是利用Command對象吧。 3. 有返回值的存儲過程 在進行類似SP2的操作時,應(yīng)充分利用SQL Server強大的事務(wù)處理功能,以維護數(shù)據(jù)的一致性。并且,我們可能需要存儲過程返回執(zhí)行情況,為此,將SP2修改如下: /*S
17、P3*/ CREATE PROCEDURE dbo.delUserAll as set nocount on begin BEGIN TRANSACTION delete from dbo.userinfo
18、60; IF error=0 begin COMMIT TRANSACTION return 1
19、 end ELSE begin ROLLBACK TRANSACTION return 0
20、; end return end go 以上存儲過程,在delete順利執(zhí)行時,返回1,否則返回0,并進行回滾操作。為了在ASP中取得返回值,需要利用Parameters集合來聲明參數(shù)
21、:'*調(diào)用帶有返回值的存儲過程并取得返回值* DIM MyComm,MyPara Set MyComm = Server.CreateObject("ADODB.Command") MyComm.ActiveConnection = MyConStr 'MyConStr是數(shù)據(jù)庫連接字串
22、0;MyComm.CommandText = "delUserAll" '指定存儲過程名 MyComm.CommandType = 4 &
23、#160; '表明這是一個存儲過程 MyComm.Prepared = true '要求將SQL命令先行編譯 '聲明返回值'取得返回值 DIM retValue
24、60; retValue = MyComm(0) '或retValue = MyComm.Parameters(0) Set MyComm = Nothing 在MyComm.CreateParameter("RETURN",2,4)中,各參數(shù)的含義如下: 第一個參數(shù)("RETURE")為參數(shù)名。參數(shù)名可以任意設(shè)定,但一般應(yīng)與存儲過程中聲明的參數(shù)名相同。此處是返回值,我習(xí)慣上設(shè)為"RETURE";第二個參數(shù)(2),表明該參數(shù)的數(shù)據(jù)類型,具體的類型代碼請參閱ADO參考,以下給出常用的類型代碼:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)合同補充協(xié)議合同范本
- 單位房屋借用合同范本
- 勞動使用期合同范本
- 利用合同范本掙錢
- 上海徐匯金杯租車合同范本
- 監(jiān)控弱電維護合同范本
- 醫(yī)院電動車租售合同范本
- 備案的借住合同范本
- 單位之間借支合同范本
- 2003勞務(wù)合同范本
- 2024年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 《化工流程教案》課件
- 后循環(huán)缺血治療
- 體育學(xué)科核心素養(yǎng)解析
- 2024年浙江紹興杭紹臨空示范區(qū)開發(fā)集團有限公司招聘筆試真題
- 2025年體檢科醫(yī)療質(zhì)量控制工作計劃
- 2024年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 飛行器小學(xué)生課件
- 無人機法律法規(guī)與安全飛行 第2版2-2 領(lǐng)空
- 《單片機應(yīng)用實訓(xùn)教程》課件第4章
- 應(yīng)急突發(fā)處置
評論
0/150
提交評論