新聞中心
在計(jì)算機(jī)應(yīng)用領(lǐng)域,數(shù)據(jù)庫的應(yīng)用已經(jīng)越來越廣泛,特別是在研究和開發(fā)實(shí)時(shí)信息處理,以及大規(guī)模數(shù)據(jù)存儲(chǔ)、管理和搜索方面,起著關(guān)鍵作用。因此,如何高效、可靠地訪問數(shù)據(jù)庫,已成為數(shù)據(jù)庫應(yīng)用開發(fā)的關(guān)鍵問題。ADO(ActiveX Data Objects)是一組可以協(xié)同使用的對象,它們以通用的方式訪問各種數(shù)據(jù)源。下面從 ADO 的概念、特點(diǎn)、使用、優(yōu)點(diǎn)以及應(yīng)用案例等方面介紹 ADO 輕松實(shí)現(xiàn)數(shù)據(jù)庫訪問。

創(chuàng)新互聯(lián)公司自2013年起,先為申扎等服務(wù)建站,申扎等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為申扎企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1. ADO的概念及特點(diǎn)
ADO(ActiveX Data Objects)是微軟公司提供的一種訪問數(shù)據(jù)庫的解決方案,是 Microsoft 數(shù)據(jù)訪問技術(shù)的基礎(chǔ)。ADO 可以從數(shù)據(jù)源中獲取數(shù)據(jù),并通過 API 的方式將其置于各種服務(wù)中,由此實(shí)現(xiàn)數(shù)據(jù)的有效利用。
ADO 的特點(diǎn)有以下幾點(diǎn):
①面向?qū)ο螅篈DO 的操作完全基于對象,使用很方便。我們可以通過包括訪問器、屬性和方法在內(nèi)的方法來操作數(shù)據(jù)。
②支持多種數(shù)據(jù)庫:ADO 不僅僅支持 Microsoft SQL Server,也支持 Oracle、MySQL、PostgreSQL 等數(shù)據(jù)庫系統(tǒng)。
③高效性能:ADO 使用了緩存來提高性能。當(dāng)查詢的數(shù)據(jù)在緩沖區(qū)中時(shí),訪問速度非??欤瑥亩嵘藬?shù)據(jù)訪問的效率。
④數(shù)據(jù)處理的能力:ADO 支持各種 SQL 命令來訪問數(shù)據(jù)庫,并執(zhí)行增加、刪除、修改操作。
2. ADO的使用
ADO 的使用需要了解以下的 ADO 對象和操作:
①Connection 對象:ADO 應(yīng)用程序與數(shù)據(jù)源之間的橋梁是用 Connection 對象來實(shí)現(xiàn)的。使用 Connection 對象打開數(shù)據(jù)庫,執(zhí)行 SQL 命令或存儲(chǔ)過程。
②Command 對象:Command 對象用于執(zhí)行 SQL 命令或調(diào)用存儲(chǔ)過程。它是與數(shù)據(jù)庫交互的關(guān)鍵對象。
③Recordset 對象:Recordset 對象可以看作是存儲(chǔ)著檢索結(jié)果的一個(gè)表,用于存儲(chǔ)從數(shù)據(jù)庫檢索到的數(shù)據(jù)。
通過這些對象,可以方便地連接、操作數(shù)據(jù)庫中的數(shù)據(jù),進(jìn)而實(shí)現(xiàn)對數(shù)據(jù)庫的訪問。
3. ADO的優(yōu)點(diǎn)
ADO 具有如下的優(yōu)點(diǎn):
① ADO 支持多種數(shù)據(jù)源的訪問,包括了 Microsoft SQL Server、Oracle、MySQL 等。
② ADO 提供了一套簡單卻效率高的對象模型,相比其他方式,使用 ADO 更加高效。
③ ADO 支持容易使用且可簡化開發(fā)的強(qiáng)大的集成查詢功能,可以避免 SQL 語句的麻煩操作。
④ ADO 支持異步請求,在快速查詢和數(shù)據(jù)更新時(shí)具有更高的速度。
4. ADO的應(yīng)用案例
如何應(yīng)用 ADO 呢?下面是一個(gè)基本的 ADO 實(shí)現(xiàn)數(shù)據(jù)庫操作的案例:
步驟1:創(chuàng)建數(shù)據(jù)庫
在本地電腦(例如C盤)一個(gè)文件夾下創(chuàng)建新文本文件”test.mdb”,然后創(chuàng)建一個(gè) Customers 表格,含三個(gè)字段 ID、 Name 和 Address。
步驟2:創(chuàng)建 ASP 文件
在 Notepad 工具中新建一個(gè) ASP 文件。將以下代碼拷貝到文件中:
<%
Set conn=Server.CreateObject(“ADODB.Connection”)
conn.Provider=”Microsoft. Jet.OLEDB.4.0″
conn.Open(Server.MapPath(“test.mdb”))
Set rs = Server.CreateObject(“ADODB.Recordset”)
sql = “Select * from Customers”
rs.Open sql, conn
Do While Not rs.EOF
Response.Write(rs.Fields(“ID”).Value & ” — ” & rs.Fields(“Name”).Value & ” — ” & rs.Fields(“Address”).Value & “
“)
rs.MoveNext
Loop
rs.Close
conn.Close
%>
步驟3:測試
在瀏覽器中輸入文件名,例如:http://localhost/asp/ado.asp,即可看到操作結(jié)果。
通過以上的實(shí)例,我們可以知道對ADO的基本應(yīng)用。
5.
ADO 是一種高效、可靠的數(shù)據(jù)庫訪問解決方案。其提供的一系列的對象和操作,使得通過 ADO 實(shí)現(xiàn)數(shù)據(jù)庫的訪問變得更加簡單。并且,ADO 對于多種數(shù)據(jù)源的訪問,具有非常好的兼容性。ADO 在許多領(lǐng)域都有著廣泛的應(yīng)用,例如企業(yè)級應(yīng)用程序、數(shù)據(jù)倉庫、數(shù)據(jù)集成、Web 應(yīng)用程序等。相信隨著技術(shù)的日益發(fā)展,ADO 在未來的數(shù)據(jù)庫應(yīng)用中將會(huì)得到更加廣泛的應(yīng)用和發(fā)展:諸如海量數(shù)據(jù)云計(jì)算、分布式計(jì)算和其他智能應(yīng)用,這些都離不開這樣一種高效、可靠的數(shù)據(jù)庫訪問解決方案。
相關(guān)問題拓展閱讀:
- 怎樣在VC下用ADO連接ORACLE數(shù)據(jù)庫
- 如何用ADO連接各種數(shù)據(jù)庫的代碼
怎樣在VC下用ADO連接ORACLE數(shù)據(jù)庫
首先,要用#import語句來引用支持ADO的組件類型庫(*.tlb),其中類型庫可以作為可執(zhí)行程序(DLL、EXE等)的一部分被定位在其自身程序中的附屬資源里,如:被定位在msado15.dll的附屬資源中,只需要直接用#import引用它既可??梢灾苯釉赟tdafx.h文件中加入下面語句來實(shí)現(xiàn):
#import “c:\program files\common files\system\ado\msado15.dll” \
no_namespace \
rename (“EOF”, “adoEOF”)
其中路徑名可鉛纖以根據(jù)自己系統(tǒng)安裝的ADO支持文件的路徑來自行設(shè)定。當(dāng)編譯器遇到#import語句時(shí),它會(huì)為引用組件類型庫中的接口生成包裝類,#import語句實(shí)際上相當(dāng)于執(zhí)行了API涵數(shù)LoadTypeLib()。#import語句會(huì)在工程可執(zhí)行程序輸出目錄中產(chǎn)生兩個(gè)文件,分別為*.tlh(類型庫頭文件)及*.tli(類型庫實(shí)現(xiàn)文件),它們分別為每一個(gè)接口產(chǎn)生智能指針,并為各種接口方法、枚舉類型,CLSID等進(jìn)行聲明,創(chuàng)建一系列包裝方法。語句no_namespace說明ADO對象不使用命名空間,rename (“EOF”, “adoEOF”)說明將ADO中結(jié)束標(biāo)志EOF改為adoEOF,以避免和其它庫中命名相沖突。
其次,在程序初始過程中需要初始化組件,一般可以用CoInitialize(NULL);來實(shí)現(xiàn),這種方法在結(jié)束時(shí)要關(guān)閉初始化的COM,可以用下面語句CoUnInitialize();來實(shí)現(xiàn)。在MFC中還可以采用另一種方法來實(shí)現(xiàn)初始化COM,這種方法只需要一條語句便可以自動(dòng)為我們實(shí)現(xiàn)初始化COM和巖激喚結(jié)束時(shí)關(guān)閉COM的操作,語句如下所示: AfxOleInit();
接著,就可以直接使用ADO的操作了。我們經(jīng)常使用的只是前面用#import語句引用類型庫時(shí),生成的包裝類.tlh中聲明的智能指針中的三個(gè),它們分別是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分別對它們的使用方法進(jìn)行介紹:
1、_ConnectionPtr智能指針,通常用于打開、關(guān)閉一個(gè)庫連接或用它的Execute方法來執(zhí)行一個(gè)不返回結(jié)果的命令語句(用法和_CommandPtr中的Execute方法類似)。
——打開一個(gè)庫連接。先創(chuàng)建一個(gè)實(shí)例指針,再用Open打開一個(gè)庫連接,它將返回一個(gè)IUnknown的自動(dòng)化接口指針。代碼如下所示:
_ConnectionPtr m_pConnection;
// 初始化COM,創(chuàng)建ADO連接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
// 在ADO操作中建議語句中要常用try…catch()來捕獲錯(cuò)誤信息,
// 因?yàn)樗袝r(shí)會(huì)經(jīng)常出現(xiàn)一些意想不到的錯(cuò)誤。jingzhou xu
try
{
// 打開本地Access庫Demo.mdb
m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb”,””,””,adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(“數(shù)據(jù)庫連接失敗,確認(rèn)數(shù)據(jù)庫Demo.mdb是否在當(dāng)前路徑下!”);
return FALSE;
}
——關(guān)閉一個(gè)庫連接。如果連接狀態(tài)有效,則用Close方法關(guān)閉它并賦于粗凱它空值。代碼如下所示:
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;
如何用ADO連接各種數(shù)據(jù)庫的代碼
如何用ADO連接各種數(shù)據(jù)庫的代碼羨枝:
簡單介紹一下幾種ADO連接方式:ODBC DSN,ODBC DSN-Less,
OLE DB Provider,和”MS Remote” Provider.
1。ODBC DSN連接
I.DSN
oConn.Open “DSN=AdvWorks;” & _
“UID=Admin;” & _
“PWD=;”
注意:從MDAC2.1開始就不能夠在使用這樣兄明敏的方式了,就是只把DSN文件名放在ConnectString中
你必須同時(shí)使用DSN,UID,PWD標(biāo)志。例如下面的槐敬方式在MDAC 2.1中將會(huì)出錯(cuò):
oConn.Open “AdvWorks”
II.File DSN
oConn.Open “FILEDSN=\somepath\mydb.dsn;” & _
“UID=Admin;” & _
“PWD=;”
III.ODBC DSN-Less Connections
a)ODBC Text Driver
oConn.Open _
“Driver={Microsoft Text Driver (*.txt; *.csv)};” & _
“Dbq=\somepath\;” & _
“Extensions=asc,csv,tab,txt;” & _
“Persist Security Info=False”
注意:需要在SQL語句中指定使用到的文件名。例如:
oRs.Open “Select * From customer.csv”, _
oConn, adOpenStatic, adLockReadOnly, adCmdText
b)ODBC Driver for Access
i)普通安全模式:
oConn.Open _
“Driver={Microsoft Access Driver (*.mdb)};” & _
“Dbq=\somepath\mydb.mdb;” & _
“Uid=Admin;” & _
“Pwd=;”
ii)如果使用了System database:
oConn.Open _
“Driver={Microsoft Access Driver (*.mdb)};” & _
“Dbq=\somepath\mydb.mdb;” & _
“SystemDB=\somepath\mydb.mdw;”, _
“admin”, “”
c)ODBC Driver for SQL Server
i)普通安全模式
oConn.Open “Driver={SQL Server};” & _
“Server=carl2;” & _
“Database=pubs;” & _
“Uid=sa;” & _
“Pwd=;”
ii)使用信任安全模式:
oConn.Open “Driver={SQL Server};” & _
“Server=carl2;” & _
“Database=pubs;” & _
“Uid=;” & _
“Pwd=;”
注意:要使用空白的Uid和Pwdd)ODBC Driver for Oracle
i)使用現(xiàn)有的Oracle ODBC Driver from Microsoft:
oConn.Open _
“Driver={Microsoft ODBC for Oracle};” & _
“Server=OracleServer.world;” & _
“Uid=demo;” & _
“Pwd=demo;”
ii)使用老版本的Oracle ODBC Driver from Microsoft:
oConn.Open _
“Driver={Microsoft ODBC Driver for Oracle};” & _
“ConnectString=OracleServer.world;” & _
“Uid=demo;” & _
“Pwd=demo;”
IIII)使用微軟的OLE DB Data Link Connections方式Data Link File (UDL)
a)使用絕對路徑
oConn.Open “File Name=\somepath\pubs.udl;”
b)使用相對路徑
oConn.Open “File Name=pubs.udl;”
V)OLE DB Provider Connections方式
a)OLE DB Provider for ODBC Databases
i)Access (Jet):
oConn.Open _
“Provider=MSDASQL;” & _
“Driver={Microsoft Access Driver (*.mdb)};” & _
“Dbq=\somepath\mydb.mdb;” & _
“Uid=Admin;” & _
“Pwd=;”
ii)SQL Server:
oConn.Open _
“Provider=MSDASQL;” & _
“Driver={SQL Server};” & _
“Server=carl2;” & _
“Database=pubs;” & _
“Uid=sa;” & _
“Pwd=;”
b)OLE DB Provider for Microsoft Jet (Access)
i)普通安全模式:
oConn.Open _
“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=\somepath\mydb.mdb;” & _
“User Id=admin;” & _
“Password=;”
ii)如果使用了System database:
oConn.Open _
“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=\somepath\mydb.mdb;” & _
“Jet OLEDB:System Database=system.mdw;”, _
“admin”, “”
注意:當(dāng)使用OLE DB Provider4.0版本是,需要把MDB和MDW文件轉(zhuǎn)換成4.0的數(shù)據(jù)庫格式
iii)如果MDB需要一個(gè)數(shù)據(jù)庫密碼的話:
oConn.Open _
“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=\somepath\mydb.mdb;” & _
“Jet OLEDB:Database Password=MyDbPassword;”, _
“admin”, “”
c)OLE DB Provider for Excel Spreadsheet:
oConn.Open _
“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=\somepath\expenses.xls;” & _
“Extended Properties=””Excel 8.0;HDR=Yes;””;”
注意: “HDR=Yes”表示在之一行中是行標(biāo)題,在provider中將不把之一行包括入recordset中
d)OLE DB Provider for SQL Server
i)普通安全模式:
oConn.Open “Provider=sqloledb;” & _
“Network Library=DBMSSOCN;” & _
“Data Source=carl2;” & _
“Initial Catalog=pubs;” & _
“User Id=sa;” & _
“Password=;”
ii)使用信任安全模式:
oConn.Open “Provider=sqloledb;” & _
Network Library=DBMSSOCN;” & _
“Data Source=carl2;” & _
“Initial Catalog=pubs;” & _
“Trusted_Connection=yes;”
注意:”Network Library=DBMSSOCN”聲明OLE DB使用TCP/IP替代Named Pipes.
e)OLE DB Provider for Oracle
oConn.Open “Provider=msdaora;” & _
“Data Source=OracleServer.world;” & _
“User Id=sa;” & _
“Password=;”
(VI)Remote OLE DB Provider Connections方式(就是我一直在研究的RDS方式哦,呵呵。):
a)MS Remote – Access (Jet)
i)ODBC DSN:
oConn.Open “Remote Server=
” & _
“Remote Provider=MSDASQL;” & _
“DSN=AdvWorks;” & _
“Uid=admin” & _
“Pwd=;”
ii)OLE DB Provider:
oConn.Open “Provider=MS Remote;” & _
“Remote Server=
” & _
“Remote Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=\somepath\mydb.mdb;”, _
“admin”, “”
iii)OLE DB Provider自定義事務(wù)對象
oConn.Open “Provider=MS Remote;” & _
“Remote Server=
” & _
“Handler=MSDFMAP.Handler;” & _
“Data Source=MyAdvworksOLEDBConnectTag;”
b)MS Remote – SQL Server
i)ODBC DSN:
oConn.Open “Remote Server=
” & _
“Remote Provider=MSDASQL;” & _
“Network Library=DBMSSOCN;” & _
“DSN=Pubs;” & _
“Uid=sa” & _
“Pwd=;”
ii)OLE DB Provider
oConn.Open “Provider=MS Remote;” & _
“Remote Server=
” & _
“Remote Provider=SQLOLEDB;” & _
“Network Library=DBMSSOCN;” & _
“Data Source=carl2;” & _
“Initial Catalog=pubs;” & _
“User ID=sa;” & _
“Password=;”
關(guān)于ado連數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
名稱欄目:ADO輕松實(shí)現(xiàn)數(shù)據(jù)庫訪問 (ado連數(shù)據(jù)庫)
文章分享:http://m.fisionsoft.com.cn/article/djgsejd.html


咨詢
建站咨詢
