VB中調用帶參數存儲過程的實現(數據庫)


VB中調用帶參數存儲過程的實現(數據庫)

張永曉

 
---- VB做為快速應用開發(RAD)工具越來越得到開發人員的認可和接受。它對許多API(如ODBC API、SOCKET API等等)的封裝使得編程變得簡單起來。同時,它支持集成開發環境下的可視化、事件驅動、面向對象等編程特點。下面,我們談談在VB中調用存儲過程的實現方法及其注意事項。

---- 我們知道,VB的數據庫編程有許多種方法,比如直接用ODBC API編程,這種方法靈活、高效,程序員可以實現對數據庫復雜的控制;也可以用VB中的數據對象,如RDO(遠程數據對象)、DAO(數據訪問對象)、ADO(ActiveX 數據對象),這種方法實現起來方便、快捷,但靈活性較差一些。由於存儲過程在實現數據封裝、隱藏以及代碼的預編譯、減少網絡負載、維護方便等優點,所以被許多RDBMS和編程工具做支持。VB中的各類數據對象也提供對存儲過程的支持。

---- 我們以ADO為例來說明其實現的步驟

---- 1. 創建、調試存儲過程。你可以在數據庫中也可以在其他外掛程序的支持下進行存儲過程的創建和調試工作。本例中的存儲過程代碼如下(使用PUBS的MS SQL中的例子庫 ):

CREATE PROCEDURE myprocedure
@job_id smallint,
@job_lvl tinyint
AS
SELECT *
FROM employee
WHERE job_id < @job_id
AND job_lvl > @job_lvl


---- 2. 在VB中生成一個新的工程,工程有一窗體,一個COMMAND(NAME:COMMAND1) 按鈕,一個 MSFlexGrid(NAME:MSFlexGrid1)控件。
---- 3. 創建連接ADO connection;

---- 4. 創建命令ADO command;

---- 5. 創建參數並設置各個參數的屬性;

---- 6. 執行ADO command;

---- 7. 對數據進行處理;MSFlexGrid顯示查詢到的數據

---- 8. 釋放連接,退出程序。

---- 其中代碼如下:

在窗體中聲明以下變量:
Dim cnn1 As ADODB.Connection ‘連接
Dim mycommand As ADODB.Command ‘命令
Dim parm_jobid As ADODB.Parameter ‘參數1
Dim parm_joblvl As ADODB.Parameter ‘參數2
Dim rstByQuery As ADODB.Recordset ‘結果集
Dim strCnn As String ‘連接字符串

在窗體的LOAD事件中加入如下代碼:
Set cnn1 = New ADODB.Connection
‘生成一個連接
strCnn = "DSN=MYDSN;uid=sa;pwd="
‘創建的系統數據源MYDSN指向PUBS數據庫
cnn1.Open strCnn ‘打開連接
在窗體的UNLOAD中的加入代碼如下:
cnn1.Close ‘關閉連接
Set cnn1 = Nothing ‘釋放連接

在按鈕中的代碼如下:
Dim i As integer
Dim j as integer
Set parm_jobid = New ADODB.Parameter
Set mycommand = New ADODB.Command
' parm_jobid.Name = "name1"
this line can be ommited
parm_jobid.Type = adInteger ‘


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM