技術(shù)頻道

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

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

時間:2010-10-12 10:29:46來源:majuan

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

摘要:在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ù)庫,可以獲得更好的性能,更大的靈活性。

標簽:

點贊

分享到:

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

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

中國傳動網(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)法律責任。

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

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

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

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