時間:2010-10-12 10:29:46來源:majuan
摘要:在VB的訪問數(shù)據(jù)庫方法中,對ADO技術(shù)做出了簡要概述。介紹了ADO訪問普通數(shù)據(jù)庫時,采用非編程手段時所需要的具體步驟,和采用編程手段時所需要的關(guān)鍵代碼。同時以訪問西門子軟件Wincc的數(shù)據(jù)庫為例,指出ADO訪問特殊數(shù)據(jù)庫時需要注意的地方。
0.引言
數(shù)據(jù)庫作為數(shù)據(jù)管理的最新技術(shù),是現(xiàn)代計算機信息系統(tǒng)和計算機應(yīng)用的基礎(chǔ)和核心。對于數(shù)據(jù)庫的訪問方法中,VB作為一種面向?qū)ο蟮目梢暬幊坦ぞ撸琈icrosoft為其提供了與SQL Server通信的API函數(shù)集及工具集,因此借助于VB可以輕松地開發(fā)出功能強、速度快、應(yīng)用廣,并占用資源少的數(shù)據(jù)庫應(yīng)用程序,可以進行完整的數(shù)據(jù)庫維護、操作及其事務(wù)處理。以下著重探討在VB6.0提供的訪問數(shù)據(jù)庫手段中,ADO(ActiveX Data Object)訪問SQL Server數(shù)據(jù)庫方法,
1. VB/ADO訪問技術(shù)概述
VB訪問數(shù)據(jù)庫的方法有:數(shù)據(jù)訪問對象(DAO)、遠程數(shù)據(jù)對象(RDO)和ActiveX數(shù)據(jù)對象(ADO)。ADO是繼DAO/RDO的之后產(chǎn)物,它是 VB 6.0開始最新支持的數(shù)據(jù)訪問對象技術(shù),基于OLE DB之上,通過內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)庫訪問接口。ADO的連接方式主要可分為OLE DB Provider方式與OLE DB Provider for ODBC方式。OLE DB Provider for ODBC是ADO的默認提供者,ODBC Provider允許ADO連接到任何ODBC數(shù)據(jù)源。
ADO 最普遍的用法就是在關(guān)系數(shù)據(jù)庫中查詢一個表或多個表,然后在應(yīng)用程序中檢索并顯示查詢結(jié)果,并允許用戶更改并保存數(shù)據(jù)。ADO訪問數(shù)據(jù)庫的方法有編程和非編程方式兩種。
2. 非編程訪問數(shù)據(jù)庫
假設(shè)已存在數(shù)據(jù)庫Li.mdb,在VB6環(huán)境中:
(1)在工具箱中添加ADO Data控件。操作為:“工程”---“部件”---“Microsoft AD0 Data Control”。
(2)在窗體上放置一個ADO Data控件,名稱默認為Adodc1。
(3)設(shè)置Adodcl,connectionstring屬性值為“Li”。其中“Li”為指向Li.mdb ,數(shù)據(jù)庫的數(shù)據(jù)源名稱,可通過控制面版預(yù)先設(shè)定。
(4) 設(shè)置Adodc1.RecordSource項, 選擇命令類型為“2一adCmdTable”.并在表名項中選擇“表1”。
(5)將ADO Data控件與Text文本框綁定。放置文本框控件于窗體.將其DataSource屬性值設(shè)置Adodc1.DataField屬性值設(shè)為表中一字段,如果運行程序,可用ADO Data控件的方向箭頭來瀏覽。
除了應(yīng)用上述引入一組數(shù)據(jù)綁定控件顯示數(shù)據(jù)內(nèi)容之外,還可以使用數(shù)據(jù)網(wǎng)格控件DmaGrid來顯示多個字段內(nèi)容。步驟為:
(1)先通過“工程”-〉“部件”-〉“Microsoft DataGrid Control”引入數(shù)據(jù)網(wǎng)格控件并在窗體中繪制一個DataGrid控件。
(2)把DmaGrid綁定到ADO數(shù)據(jù)控件上。設(shè)置DataSource屬性值為:Adodc1。
(3)把數(shù)據(jù)庫字段加入到DamGrid控件上。鼠標右擊DataGrid控件,選擇檢索字段,則當前數(shù)據(jù)表的字段全部導(dǎo)入到數(shù)據(jù)網(wǎng)格控件上。
這種方法簡單實用,但不能靈活地按照要求快速查詢數(shù)庫內(nèi)容,編程訪問數(shù)據(jù)庫則能夠解決這個問題。
3. 編程訪問數(shù)據(jù)庫
首先介紹打開到數(shù)據(jù)源所需要的特定代碼:
"Provider=SQLOLEDB;DataSource=serverName;InitialCatalog=
databaseName;User;Password=userPassword; Persist Security Info=True"
1)Provider指定OLE DB數(shù)據(jù)或服務(wù)提供者的名稱,可以缺省。
2) Data Source 或 Server 指定服務(wù)器的名稱
3) Initial Catalog 指定服務(wù)器上的數(shù)據(jù)庫名稱。
4)User ID為ODBC數(shù)據(jù)源指定用戶標識(用戶賬號名)。用于 SQL Server Authentication
5)Password為ODBC數(shù)據(jù)源指定用戶口令。
6)Persist Security Info布爾類型,為True時表明采用集成安全機制;若為False表明不采用集成安全機制。
ADO訪問數(shù)據(jù)庫的具體方法為:
(1)引用ADO對象庫。操作:“工程”一“引用”一“Microsoft ActiveX Data Objects 2.1 Library”。
(2)用代碼打開數(shù)據(jù)源。
m_sConnStr = "Provider='SQLOLEDB';Data Source='MySqlServer';
" & _ "Initial Catalog='Li';Integrated Security='SSPI';"
(3)將 SQL 字符串取出賦給變量 (sSQL)
sSQL = "Select ProductID, ProductName, CategoryID, UnitPrice FROM
Products"
(4)最后通過指令 “Set grdDisplay1.DataSource=” 把數(shù)據(jù)通過DataBound
Grid
控件顯示在窗體上
4.ADO訪問其它特殊數(shù)據(jù)庫
ADO同樣可應(yīng)用于訪問工控軟件數(shù)據(jù)庫,如WinCC6.0是西門子公司開發(fā)的人機交互數(shù)據(jù)采集監(jiān)控系統(tǒng),它將生產(chǎn)過程中的大量數(shù)據(jù)壓縮保存在Microsoft SQL Server 2000數(shù)據(jù)庫中。它的數(shù)據(jù)歸檔是以一定時間做為基準,形成數(shù)據(jù)片段,分為快速歸檔和慢速歸檔, 從SQL Server管理器看這些表格中的數(shù)據(jù)意義不大,因為快速歸檔數(shù)據(jù)都是經(jīng)過壓縮的,以二進制方式存儲的,慢速歸擋的所有數(shù)據(jù)都在一個表里,而且其表名為動態(tài)的,因此它們和常規(guī)的SQL訪問的方法是有一些出入的。
因為OLE DB界面和相應(yīng)的提供者可由不同的廠商提供。我們可通過西門子公司提供的“WinCC OLE DB Provider”,透明地直接訪問數(shù)據(jù)庫。
連接字符串的結(jié)構(gòu)是:
"Provider = Name of the OLE DB Provider; Catalog = Database Name;Data Source = Server Name"
Catalog數(shù)據(jù)庫名稱為訪問WinCC運行數(shù)據(jù)庫,他的名稱一般是"CC_工程名_年_月_日_時_分_秒R";Data Source為訪問本地計算機為“.\Wincc”,訪問遠程計算機為“Computer Name \Wincc”。
而存放了快速壓縮歸檔數(shù)據(jù)的表,用西門子公司提供選件的TAG:R....語句查詢
語法為:TAG:R,< Value Name>,,
其中,TAG:R表示查詢WinCC變量運行庫;
Value Name的格式是:‘歸檔名稱\變量名稱’。
、分別表示所要查詢變量歸檔的開始時間和結(jié)束時間。這兩個參數(shù)格式為‘YYYY-MM-DD hh:mm:ss.msc’
使用Visual Basic建立連接對象及查詢語句的代碼為:“provider=WINCC OLE DB rovider.1;Catalog=CC_OpenArch_07_05_27_14_11_46R;Data Soruce=.\Wincc”
sSql="TAG:R,1,'2007-09-12 01:10:00.000','2007-09-12 01:20:00.000'"
5.結(jié)束語
ADO可以使用任何一種ODBC數(shù)據(jù)源.即不止適合于SQLServer、Oracle、Access等數(shù)據(jù)庫應(yīng)用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件。它替代了原來的DAO和RDO兩種數(shù)據(jù)訪問接口,另外還增加了一些用戶以前沒有接觸到的特征。隨著信息網(wǎng)絡(luò)化的發(fā)展,利用ADO訪問數(shù)據(jù)庫,可以獲得更好的性能,更大的靈活性。
標簽:
中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。