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