VB中呼叫帶引數儲存過程的實現 資料庫

2021-09-06 06:45:14 字數 1854 閱讀 5960

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

asselect *

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 『

vb中呼叫帶引數的儲存過程

dim data connection as new adodb.connection ado連線物件 dim data recordset as new adodb.recordset ado的記錄集 dim sqlcmdcheckelement as new adodb.command dim ...

vb6呼叫帶日期引數的儲存過程

create table tmp fcode varchar 10 fdate smalldatetime insert into tmp select a1 2011 08 10 union all select a2 2011 08 11 union all select a3 2011 08 ...

儲存過程如何呼叫帶引數的儲存過程

declare value varchar max exec tmfun getsearchstr 陝西 table1 name value output select from users where address value 顯示結果為 解釋 其中,tmfun getsearchstr 為儲存...