技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > ADO 訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用

ADO 訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用

時(shí)間:2010-10-12 10:29:46來(lái)源:majuan

導(dǎo)語(yǔ):?在VB的訪問(wèn)數(shù)據(jù)庫(kù)方法中,對(duì)ADO技術(shù)做出了簡(jiǎn)要概述。介紹了ADO訪問(wèn)普通數(shù)據(jù)庫(kù)時(shí),采用非編程手段時(shí)所需要的具體步驟,和采用編程手段時(shí)所需要的關(guān)鍵代碼。

摘要:在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)簽:

點(diǎn)贊

分享到:

上一篇:森蘭SB70 690V 1100kW大功率...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(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é)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)