朱德葛
摘要: VB具有強大的數(shù)據(jù)操縱功能,不僅能創(chuàng)建數(shù)據(jù)庫文件,還能利用ADO Data控件實現(xiàn)與數(shù)據(jù)庫的連接,通過一些綁定控件來顯示數(shù)據(jù)庫中的有關內(nèi)容,并能開發(fā)出實用的數(shù)據(jù)管理系統(tǒng)。該文詳細介紹了VB數(shù)據(jù)控件的屬性,實現(xiàn)與數(shù)據(jù)庫連接的方法、步驟,列舉一些簡單應用的編程代碼。
關鍵詞:VB集成環(huán)境;屬性;ADO Data控件;數(shù)據(jù)庫連接;數(shù)據(jù)綁定控件
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2012)24-5758-03
Achieve a Database Connection and Its Simple Application Based on the ADO Data Control
ZHU De-ge
(Computer Center, Yancheng Institute of Technology, Yancheng 240053,China)
Abstract: VB has a powerful data manipulation functions . Not only can create a database file, still can use ADO Data control to realize the connection with database .Through some bound controls to display database content about and the development of practical data manage ment system .This paper introduces the VB data control properties ,realization of database connection with the methods, steps, list some sim ple application programming code .
Key words:VB integrated environment ;attribute ;ADO data control ;database connection ;data bound controls
1在VB中利用“可視化數(shù)據(jù)管理器”創(chuàng)建數(shù)據(jù)庫
1)建立數(shù)據(jù)庫文件yczdgwcf和表zdgwcf
在VB中,單擊“外接程序”-“可視化數(shù)據(jù)管理器”-在“VisData窗口”中-“文件”-“新建”-“Microsoft Access-版本7.0 MDB(7)”-輸入“數(shù)據(jù)庫文件名(yczdgwcf.mdb)、選擇保存位置”-點擊“保存”-右擊“數(shù)據(jù)庫窗口”空白處-“建表(T)”-“表結構”-輸入“表名稱(zdgwcf)”-點擊“增加字段”-輸入“名稱、類型、長度”-“確定”-“關閉”-“生成表”。
2)建立數(shù)據(jù)表、輸入數(shù)據(jù)記錄
進入“VisData窗口”-文件-“打開數(shù)據(jù)庫-Microsoft Access(M)…”-找到已有的數(shù)據(jù)庫文件-雙擊數(shù)據(jù)表或右擊數(shù)據(jù)表(zdg? wcf)-“打開”-“添加”-在各字段中輸入記錄數(shù)據(jù)-“更新”-“關閉”。記錄內(nèi)容如下表1:
表1
2 ADO技術與ADO Data控件概述
ADO是ActiveX Data Object的簡稱,它是OLE DB的一種開發(fā)接口,OLE DB是一種開放規(guī)范,用于在開放式數(shù)據(jù)庫連接(ODSC)上創(chuàng)建應用編程接口(API)。它通過OLE DB作為數(shù)據(jù)提供者對任何格式存儲的任何數(shù)據(jù)進行訪問和操作。
ADO數(shù)據(jù)控件提供了實現(xiàn)VB應用程序與數(shù)據(jù)庫的連接功能,通過編程或結合其他綁定控件可方便地訪問數(shù)據(jù)庫中各種數(shù)據(jù)。ADO Data控件是ActiveX控件,用前把它添進工具箱,選擇“工程”-“部件”-“Microsoft ADO Data control6.0(OLEDB)”-“確定”即可。
3設置ADO Data控件屬性,實現(xiàn)與數(shù)據(jù)庫的連接
ADO Data控件使用ADO可快速地創(chuàng)建與數(shù)據(jù)庫連接,它重要的兩個屬性是ConnectionString(連接字符串)和Recordsource(記錄源)。
1)連接數(shù)據(jù)源:ConnectionString設置控件的連接字符串,用于建立與數(shù)據(jù)庫的連接。
在控件“屬性窗口”中,單擊ConnectionString屬性右邊的“…”按鈕,在彈出“屬性頁”-“通用”選項卡中選擇第三種方式“使用連接字符串”,點擊“生成”,打開“數(shù)據(jù)鏈接屬性”對話框,在“提供程序”中選擇“Microsoft jet 4.0 OLE DB Provider”項,單擊“下一步”或打開“連接”選項卡,指定要鏈接的庫文件。單擊“測試連接”按鈕,測試成功則關閉。
2)確定記錄源RecordSource屬性
同樣在“屬性窗口”中,單擊RecordSource屬性右邊的“…”按鈕,出現(xiàn)“屬性頁”對話框,在記錄源“命令類型”中選“2-adcmdta? ble”,在“表或存儲過程名稱”中選yczdgwcf.mdb數(shù)據(jù)庫中的“zdgwcf”表,關閉記錄源屬性頁,這樣完成了ADO數(shù)據(jù)控件與access數(shù)據(jù)庫的連接工作。
4建立數(shù)據(jù)綁定控件并設置其屬性,使其顯示數(shù)據(jù)庫中數(shù)據(jù)內(nèi)容
通過上面設置,ADODC1控件具有“打開”數(shù)據(jù)庫能力,但它沒有“顯示”功能,為此我們要借助數(shù)據(jù)綁定控件了。
圖1
常見數(shù)據(jù)綁定控件有:文本框Text、表格控件MSFlexGrid、數(shù)據(jù)網(wǎng)格控件DataGrid等,這些數(shù)據(jù)綁定控件使用前也要通過:“工程”-“部件”-選擇“Microsoft DataGrid control6.0(OLEDB)”將它添加進工具箱中添加一個綁定控件后,主要設置其屬性DataSource和DataField以顯示數(shù)據(jù),它們可以在屬性窗口設置,也可以在代碼里設置。
DataSource屬性:用于指定控件連接數(shù)據(jù)庫時使用的數(shù)據(jù)源。
DataField屬性:指定一個由數(shù)據(jù)源創(chuàng)建的Recordset對象中的合法字段名。即通過該屬性可以確定綁定的控件顯示的是哪個字段的值。
例如設數(shù)據(jù)綁定控件Datasource的屬性值為adodc1,就可將DataGrid1綁定到數(shù)據(jù)控件Adodc1上。這樣DataGrid才能正常顯示Adodc打開數(shù)據(jù)表的內(nèi)容。如上圖1。
DataGrid1允許用戶同時瀏覽或修改多個記錄的數(shù)據(jù)。
5數(shù)據(jù)訪問應用代碼的編寫
其實,使用ADO編輯、查看記錄,不需要編寫任何代碼。但為了支持更高級的使用,則需要編寫代碼,如添加、刪除、修改、查找記錄等都需要編寫代碼驅(qū)動。
1)添加記錄代碼
Private Sub Command1_Click()
Adodc1.Recordset.AddNew 添加新紀錄
Adodc1.Recordset("姓名").Value = Text1.Text
End Sub
2)修改(或提交)記錄代碼
Private Sub Command2_Click() 提交或修改記錄
Adodc1.Recordset.Update 保存
Adodc1.Refresh 刷新
End Sub
3)瀏覽(查找)記錄代碼
Private Sub sjl_Click()首記錄按鈕
Adodc1.Recordset.MoveFirst
End Sub
Private Sub down_Click()下一條記錄
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
End If
End Sub
Private Sub up_Click()上一條記錄按鈕
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
End If
End Sub
Private Sub mjl_Click()末記錄
Adodc1.Recordset.MoveLast
End Sub
4)刪除記錄代碼
Private Sub Command7_Click()刪除記錄
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If (Adodc1.Recordset.BOF Or Adodc1.Recordset.EOF) Then
MsgBox "數(shù)據(jù)表中已經(jīng)無記錄,無法刪除記錄了", , "提示"
End If
End Sub
隨著創(chuàng)新技術的不斷發(fā)展,程序開發(fā)越來越便捷,相信不久,會有更好更實用的數(shù)據(jù)處理技術問世。
參考文獻:
[1]牛又奇,孫建國.Visual Basic程序設計教程[M].蘇州:蘇州大學出版社,2010.
[2]吐爾尼沙.熱依木.VB中ADO對象訪問數(shù)據(jù)庫編程方法[J].科技創(chuàng)新導報,2007.