曹靜
摘 要:本文通過分析ADO訪問數據庫的兩種方法,在實際應用中總結對數據庫的基本的增刪改查操作,實現了對信息系統數據的處理功能。
關鍵詞:ADO對象;數據處理;功能
DOI:10.16640/j.cnki.37-1222/t.2015.24.098
1 引言
在Visual Basic的開發環境中,常用的數據庫訪問有DAO/RDO/ADO三種對象模型。在這三種對象模型中,ADO是RDO和DAO的后繼產物,它集成了DAO和RDO的優點,使用更靈活,訪問數據的效率更高,是VB訪問數據庫的一個新接口,適合于各種客戶/服務器應用系統和基于Web的應用系統。
2 ADO訪問數據庫的方法
在VB中,使用ADO訪問數據庫主要有兩種方式:一種是使用ADO Data 控件綁定來訪問數據庫中的數據;一種是使用ADO對象模型即編程方式來實現。前者的優勢在于編程人員可以通過很少的代碼創建數據庫的鏈接,直接將數據顯示在相關表格控件中,這種方法最大的缺陷就是功能不是那么靈活,在大型數據庫信息系統中,效率低下,通常是初學者的首選方法;而后者通常被應用在大型數據庫信息系統中,ADO對象提供了大多數應用程序需要的所有的數據訪問和處理功能,它在應用程序和數據源交互方式上提供了更好的控制,可以創建更為靈活更為強大的應用程序。
3 ADO在簡單登記系統中的應用
本系統,是通過VB連接Access數據庫,實現對加工工件的登記、修改、查詢、刪除功能,下面通過具體的實現來討論ADO數據控件通過非編程方式實現對ACCESS數據庫的訪問。
(1)使用ADOData控件訪問數據庫。在數據庫中已建立了一個工件登記數據庫(db2.mdb),庫中有“basic_infor”、“company_infor”兩張數據表。具體實現過程如下:
1)首先將ADODC控件添加到工具箱。
2)設置連接屬性字符串ConnectionString為“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db2.mdb;Persist Security Info=False”,設置commandType屬性為:“2-adCmdTable”。
3)添加數據至數據表:
Adodc1.RecordSource = "basic_infor"
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("公司名稱") = Text1.Text
Adodc1.Recordset.Fields("登記日期") = DTPicker1.Value
……
Adodc1.Recordset.Update
4)刪除數據
Set rs1 = Adodc1.Recordset
qr = MsgBox("是否要刪除該記錄", vbYesNo, "確認")
If qr = vbYes Then
If rs1.EOF Then
MsgBox "此公司沒有相關信息!", , "提示"
Exit Sub
Else
rs1.Delete
rs1.MoveFirst
Adodc1.Refresh
DataGrid1.Refresh
End If
End If
5)修改數據操作可在數據庫綁定的數據表中直接修改,保存即可。
6)在數據庫中查詢指定公司名稱的記錄,將查詢結果顯示在datagrid控件中,按照日期排序。
a = DataCombo1.BoundText
Adodc2.Recordset.MoveFirst
Adodc2.Recordset.Find ("公司名稱='" & a & "'")
If Adodc2.Recordset.EOF Then
MsgBox "未查詢到!", , "注意"
Exit Sub
End If
b = "select * from basic_infor where 公司名稱 = '" & Adodc2.Recordset("公司名稱") & "'order by 登記日期 "
Adodc1.RecordSource = b
Adodc1.Refresh
(2)使用ADO對象模型訪問數據庫。首先在“工程”菜單下的“引用”子菜單引用“Microsoft ActiveX Data Object 2.1 Library”,然后通過以下五個步驟完成數據庫的訪問。
1)創建鏈接:Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\db2.mdb"
2)打開鏈接:conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db2.mdb;"
3)創建和打開記錄集:Dim adoPrimaryRS As ADODB.Recordset
adoPrimaryRS.Open "select * from basic_infor order by 登記日期 ", conn, adOpenStatic, adLockOptimistic
4)操作記錄集中的數據:①增加一條記錄
adoPrimaryRS.AddNew
adoPrimaryRS.Fields("公司名稱") = Text1.Text
……
adoPrimaryRS.Update
②刪除一條記錄。通過if條件語句判斷是否刪除,執行刪除操作:
AdoPrimaryRS.Delete
AdoPrimaryRS.MoveFirst
③修改記錄。修改記錄的代碼與增加記錄代碼相似,不同在于修改記錄內部不能有adoPrimaryRS.AddNew語句,否則出錯。
④查找記錄。通過Command對象的Execute方法來查找返回符合條件的記錄集。Set adoPrimaryRS = command.Execute(RecordsAffected,Parameters,Options)
5)關閉鏈接和記錄集(先關閉記錄集再關閉鏈接)
adoPrimaryRS.Close
conn.close
4 結束語
通過Ado對象訪問數據庫的方法是程序員編碼最基本的技術之一,而且是信息系統開發的重點,其代碼質量的優良與否成為信息系統穩定性的一個至關重要的因素,因此, ADO技術的解析應用非常有必要。
參考文獻:
[1]張宗飛.VB中基于ADO的數據庫訪問技術分析及應用[Z].計算機與數字工程,2008(03):53-55.
[2]張樹兵等編著.Visual Basic6.0入門與提高[M].北京:清華大學出版社,1999.endprint