2) 追加參數(shù)法調(diào)用存儲(chǔ)過程
追加參數(shù)通過CreateParameter方法,用來指定屬性創(chuàng)建新的Parameter對(duì)象。具體語法如下:
Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
·Name 可選,字符串,代表 Parameter 對(duì)象名稱。
·Type 可選,長(zhǎng)整型值,指定 Parameter 對(duì)象數(shù)據(jù)類型。
·Direction 可選,長(zhǎng)整型值,指定 Parameter 對(duì)象類型。
·Size 可選,長(zhǎng)整型值,指定參數(shù)值最大長(zhǎng)度(以字符或字節(jié)數(shù)為單位)。
·Value 可選,變體型,指定 Parameter 對(duì)象值。
這種方法與上面一種方法的分別主要在于,追加參數(shù)的方法在向存儲(chǔ)過程傳遞參數(shù)時(shí),這種方法首先通過CreateParameter方法為存儲(chǔ)過程創(chuàng)建參數(shù),然后通過Append方法將創(chuàng)建的參數(shù)追加到Parameters集合中去。
仍然以存儲(chǔ)過程doc_ProcName的調(diào)用為例,關(guān)鍵代碼如下:
Dim mRst As ADODB.Recordset 'Recordset 對(duì)象表示的是來自基本表或命令執(zhí)行結(jié)果的記錄全集。
Dim prm As ADODB.Parameter 'Parameter 對(duì)象代表參數(shù)或與基于參數(shù)化查詢或存儲(chǔ)過程的Command 對(duì)象相關(guān)聯(lián)的參數(shù)。
adoconn.ConnectionString = Adodc1.ConnectionString
adoconn.Open
Set adocomm.ActiveConnection = adoconn
adocomm.CommandText = "doc_ProcName"
adocomm.CommandType = adCmdStoredProc
Set prm = adocomm.CreateParameter("parameter1", adTinyInt, adParamInput, , "1")
adocomm.Parameters.Append prm
Set prm = adocomm.CreateParameter("parameter2", adInteger, adParamOutput)
adocomm.Parameters.Append prm
Set mRst = adocomm.Execute
ReturnValue = adocomm.Parameters(0)
以上代碼中未定義的變量以及未注釋的語句與前述相同。
結(jié)束語
在應(yīng)用程序中調(diào)用服務(wù)器端存儲(chǔ)過程,不僅能顯著提高整個(gè)應(yīng)用的性能,而且能加強(qiáng)對(duì)數(shù)據(jù)庫數(shù)據(jù)的保護(hù)。VB為客戶端應(yīng)用程序調(diào)用存儲(chǔ)過程提供了一組方便而有效的方法。
聯(lián)系客服