麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ADO簡介

2019-11-18 17:46:26
字體:
供稿:網(wǎng)友
簡介
ActiveXDataObjects(ADO)是微軟最新的數(shù)據(jù)訪問技術(shù)。它被設(shè)計(jì)用來同新的數(shù)據(jù)訪問層OLEDBPRovider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(UniversalDataaccess)。OLEDB是一個(gè)低層的數(shù)據(jù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,以及電子郵件系統(tǒng)及自定義的商業(yè)對(duì)象。
ADO向我們提供了一個(gè)熟悉的,高層的對(duì)OLEDB的Automation封裝接口。對(duì)那些熟悉RDO的程序員來說,你可以把OLEDB比作是ODBC驅(qū)動(dòng)程序。如同RDO對(duì)象是ODBC驅(qū)動(dòng)程序接口一樣,ADO對(duì)象是OLEDB的接口;如同不同的數(shù)據(jù)庫系統(tǒng)需要它們自己的ODBC驅(qū)動(dòng)程序一樣,不同的數(shù)據(jù)源要求它們自己的OLEDB提供者(OLEDBprovider)。目前,雖然OLEDB提供者比較少,但微軟正積極推廣該技術(shù),并打算用OLEDB取代ODBC。

ADO向VB程序員提供了很多好處。包括易于使用,熟悉的界面,高速度以及較低的內(nèi)存占用(已實(shí)現(xiàn)ADO2.0的Msado15.dll需要占用342K內(nèi)存,比RDO的Msrdo20.dll的368K略小,大約是DAO3.5的Dao350.dll所占內(nèi)存的60%)。同傳統(tǒng)的數(shù)據(jù)對(duì)象層次(DAO和RDO)不同,ADO可以獨(dú)立創(chuàng)建。因此你可以只創(chuàng)建一個(gè)"Connection"對(duì)象,但是可以有多個(gè),獨(dú)立的"Recordset"對(duì)象來使用它。ADO針對(duì)客戶/服務(wù)器以及WEB應(yīng)用程序作了優(yōu)化。

本文的目的是帶你進(jìn)入ADO廣闊的世界并開始使用它。

在哪里能得到ADO?
目前ADO1.5版已經(jīng)可以從微軟網(wǎng)站免費(fèi)下載。到目前為止,微軟網(wǎng)站仍是你獲取有關(guān)ADO最新信息的最佳場所。ADO1.5是作為OLEDBSDK的一部分提供的。你可以從下面這個(gè)網(wǎng)址下載:
http://www.microsoft.com/data/oledb/download.htm

在下載之前請(qǐng)先確認(rèn)OLEDBSDK提供的各項(xiàng)特性。下載文件大約有15M,如果完全安裝的話要占用80M的硬盤空間。如果你只對(duì)ADO感舉趣,就選擇最小安裝,這樣只會(huì)占用你15M的硬盤空間。關(guān)于ADO的網(wǎng)頁在:

http://www.microsoft.com/data/ado/adoinfo.htm.

在這里你可以找到許多關(guān)于ADO的示例代碼和文章,尤其是在"Workshop"系列的文章中。你也可以從本站下載ADO2.5的幫助文件。

盡管OLEDBSDK提供自己的ADO幫助文件,你會(huì)發(fā)現(xiàn)ADO1.0的幫助文件更易于使用。同時(shí)它還向你提供ADO對(duì)象模型的圖示

ADO是如何組織起來的?
以前的對(duì)象模型,如DAO和RDO是層次型的。也就是說一個(gè)較低的數(shù)據(jù)對(duì)象如Recordset是幾個(gè)較高層次的對(duì)象,如Environment和QueryDef,的子對(duì)象。在創(chuàng)建一個(gè)QueryDef對(duì)象的實(shí)例之前,你不能創(chuàng)建DAORecordset對(duì)象的實(shí)例。但ADO卻不同,它定義了一組平面型頂級(jí)對(duì)象.
最重要的三個(gè)ADO對(duì)象是Connection,Recordset和Command.本文將主要介紹Connection和Recordset這兩個(gè)對(duì)象。每個(gè)Connection的屬性定義了與數(shù)據(jù)源的連接。Recordset對(duì)象接收來自數(shù)據(jù)源的數(shù)據(jù)。Recordset可以與Connection一起起使用,先建立一個(gè)連接,然后獲取數(shù)據(jù)。盡管如此,Recordset也可以被單獨(dú)創(chuàng)建,其Connection參數(shù)可以在Open屬性定義。

如何使用ADO?
一旦安裝了ADO,在VB的工程->引用對(duì)話框中你就可以看到象下圖所示的東西了:


選擇"ActiveXDataObjects1.5Library"(ADODB).在其下的"ADORecordset1.5Library"是一個(gè)客戶端的版本(ADOR),它定義了有聚的數(shù)據(jù)訪問對(duì)象。ADOR對(duì)于客戶端的數(shù)據(jù)訪問來說是足夠的了,因?yàn)槟悴恍枰狢onnection對(duì)象來建立與遠(yuǎn)程數(shù)據(jù)源的聯(lián)系。

如果你想要訪問更多的外部數(shù)據(jù)源,你需要安裝這些外部數(shù)據(jù)源自己的OLEDBProvider,就象你需要為新的數(shù)據(jù)庫系統(tǒng)安裝新的ODBC驅(qū)動(dòng)程序一樣。如果該外部數(shù)據(jù)源沒有自己的OLEDBProvider,你就得使用OLEDBSDK來自己為這個(gè)外部數(shù)據(jù)源創(chuàng)建一個(gè)OLEDBProvider了。這已不是本文討論的范圍了。

示例

下面的示例代碼以Northwinds數(shù)據(jù)庫作為遠(yuǎn)程數(shù)據(jù)源,然后用ADO來訪問它。首先在控制面板中打開“32位數(shù)據(jù)源”,單擊“添加”按鈕。在彈出的對(duì)話框中選擇"MicrosoftAccessDriver(*.mdb)"作為數(shù)據(jù)源驅(qū)動(dòng)程序。

然后按下圖所示,在對(duì)話框中填寫下面的內(nèi)容



選擇數(shù)據(jù)庫Northwinds所在路徑。單擊完成,退出ODBC設(shè)備管理器。

啟動(dòng)一個(gè)新的VB工程,在窗體的Load事件中輸入下面的代碼:

PrivateSubForm_Load()

DimcnAsADODB.Connection
Setcn=NewADODB.Connection

'SetConnectionproperties
cn.ConnectionString="DSN=RDCNwind;UID=;PWD=;"
cn.ConnectionTimeout=30
cn.Open

Ifcn.State=adStateOpenThen_
MsgBox"ConnectiontoNorthWindSuccessful!"

cn.Close

EndSub
按F5運(yùn)行程序,看看,一個(gè)消息框彈出來告訴你連接成功了。請(qǐng)注意,這里我特別注明了是ADODB.Connection,而不是ADOR.Connection,這樣做是為了將二者區(qū)分開(如果你引用了ADODB和ADOR的話,這樣做很有必要)。連接字符串看上去同RDO的連接字符串差不多。事實(shí)上,二者確實(shí)差不多。
如果我們要訪問一個(gè)SQLserver數(shù)據(jù)庫,你的Connection代碼看上去應(yīng)象下面所示:

'設(shè)置連接屬性cn.Provider="MSDASQL"
cn.ConnectionString="driver={SQLServer};"&"server=prod1;uid=bg;pwd=;database=main"
cn.Open

"Provider"屬性指向SQLServer的OLEDBProvider.
回到我們的示例程序,讓我們創(chuàng)建一個(gè)Recordset對(duì)象來訪問“Orders”表,并從該表的"Sh
rs.Close

EndSub
上面代碼返回的結(jié)果同前例一樣,但是本代碼中的Recordset是獨(dú)立的。這一點(diǎn)是DAO和RDO做不到的。Recordset對(duì)象的Open方法打開一個(gè)代表從SQL查詢返回的記錄的游標(biāo)。雖然你可以用Connection對(duì)象同遠(yuǎn)程數(shù)據(jù)源建立連接,但請(qǐng)記住,在這種情況下,Connection對(duì)象和Recordset對(duì)象是平行的關(guān)系。
總結(jié)
本文僅向你介紹了ADO強(qiáng)大的功能的冰山一角。微軟承諾,在將來ADO將會(huì)取代DAO和RDO。所以現(xiàn)在你應(yīng)該考慮如何將你的數(shù)據(jù)訪問代碼投向ADO的懷抱。這種轉(zhuǎn)變不會(huì)很痛苦,因?yàn)锳DO的語法同現(xiàn)有的語法差不多。也許微軟或第三方會(huì)在將來開發(fā)出轉(zhuǎn)換向?qū)砗喕@一轉(zhuǎn)換過程。從現(xiàn)在起,你就應(yīng)開發(fā)純ADO代碼的程序。你也可以繼續(xù)使用DAO或RDO代碼來開發(fā)你的程序,但落伍的感覺總是不好的。->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蜜桃视频最新网址 | 欧美成人一区二区视频 | 国产午夜亚洲精品 | 精品亚洲夜色av98在线观看 | 91网视频 | 成人免费毛片一 | 毛片在哪里看 | 伊人在线视频 | 色欲香天天天综合网站 | 国产一区在线视频观看 | 免费在线观看午夜视频 | 国产精品一区二区三区在线播放 | 五月婷婷第四色 | 日韩欧美激情视频 | 黄色电影免费网址 | 精品亚洲一区二区三区 | 国产一区二区三区在线免费 | 国产免费永久在线观看 | 国产69久久久 | 久久久久电影网站 | free korean xxxxhd| 黄网站免费入口 | 色综合激情 | 久久精品成人影院 | 一级电影免费在线观看 | 香蕉秀| 91热久久免费频精品黑人99 | 亚洲性生活免费视频 | 狠狠色噜噜狠狠狠米奇9999 | 黄色特级视频 | 草草视频免费 | lutube成人福利在线观看污 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 国产一区二区三区网站 | 在线天堂中文字幕 | 国产日本欧美在线观看 | 中国女人内谢8xxxxxx在 | av在线试看| 久久艳片 | 羞羞草视频| 中文字幕国产欧美 |