使用ADO數(shù)據(jù)庫(kù)編程

使用ADO數(shù)據(jù)庫(kù)編程

ID:41032637

大?。?6.50 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2019-08-14

使用ADO數(shù)據(jù)庫(kù)編程_第1頁(yè)
使用ADO數(shù)據(jù)庫(kù)編程_第2頁(yè)
使用ADO數(shù)據(jù)庫(kù)編程_第3頁(yè)
使用ADO數(shù)據(jù)庫(kù)編程_第4頁(yè)
使用ADO數(shù)據(jù)庫(kù)編程_第5頁(yè)
資源描述:

《使用ADO數(shù)據(jù)庫(kù)編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、使用ADO數(shù)據(jù)庫(kù)編程ADO(ActiveXDataObject)是Microsoft數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)的新接口,是建立在OLEDB之上的高層數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。ADO非常簡(jiǎn)單易用,甚至比ODBCAPI、DAO、RDO都要容易使用,并不失靈活性。本節(jié)將討論如何使用ADO進(jìn)行數(shù)據(jù)庫(kù)的開(kāi)發(fā),介紹ADO庫(kù)定義文件,討論用Connection對(duì)象連接數(shù)據(jù)庫(kù)、通過(guò)Connection、Command對(duì)象執(zhí)行SQL命令及利用Recordset對(duì)象取得結(jié)果記錄集進(jìn)行查詢、處理,下面分別介紹。1.1導(dǎo)入ADO的動(dòng)態(tài)鏈接庫(kù)用#import指令引入ADO類型庫(kù),在

2、使用的文件中加入如下語(yǔ)句#import"c:programfilescommonfilessystemadomsado15.dll"no_namespacerename("EOF","adoEOF")這句話的作用是編譯的時(shí)候系統(tǒng)會(huì)為我們生成msado15.tlh,ado15.tli兩個(gè)頭文件來(lái)定義ADO庫(kù),即加載ADO動(dòng)態(tài)庫(kù)(msado15.dll)。其中,no_namespace表明不使用命名空間,rename("EOF","adoEOF")表明把ADO中用到的EOF改為adoEOF,防止發(fā)生命名沖突。幾點(diǎn)說(shuō)明:q該代碼需要在

3、一行中完成,如果寫(xiě)成兩行或者多行,行末要加上“”符號(hào),表示把這幾行看成一行。q讀者的編程環(huán)境中msado15.dll不一定在這個(gè)目錄下,請(qǐng)按實(shí)際情況修改。q在編譯的時(shí)候可能會(huì)出現(xiàn)warning?C4146警告,對(duì)此微軟在MSDN中作了說(shuō)明,并建議不要理會(huì)這個(gè)警告。1.2初始化ADO控件環(huán)境ADO庫(kù)是一組COM動(dòng)態(tài)庫(kù),這意味應(yīng)用程序在調(diào)用ADO前,必須初始化OLE/COM庫(kù)環(huán)境。初始化OLE/COM庫(kù)環(huán)境的代碼如下:::CoInitialize(NULL);/*初始化OLE/COM庫(kù)環(huán)境*/別忘了最后要釋放資源:::CoUninitiali

4、ze();/*釋放程式占用的COM資源*/如果需要界面支持可以通過(guò)另外一個(gè)函數(shù)實(shí)現(xiàn)。if(!AfxOleInit())/*初始化OLE/COM庫(kù)環(huán)境*/{printf("OLE初始化出錯(cuò)!");return0;}每次應(yīng)用程序啟動(dòng)時(shí),需要通過(guò)函數(shù)AfxOleInit()或CoInitialize()實(shí)現(xiàn)初始化OLE/COM庫(kù)環(huán)境。本書(shū)中相關(guān)實(shí)例是使用CoInitialize()來(lái)完成初始化。1.3ADO庫(kù)接口ADO庫(kù)包含三個(gè)基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。下面分別討論各

5、接口功能描述及使用方法。1._ConnectionPtr接口_ConnectionPtr是一個(gè)連接接口,返回一個(gè)記錄集或一個(gè)空指針。它提供了一種簡(jiǎn)單的方法來(lái)執(zhí)行返回記錄集的存儲(chǔ)過(guò)程和SQL語(yǔ)句。通常使用它來(lái)創(chuàng)建一個(gè)數(shù)據(jù)連接或執(zhí)行一條不返回任何結(jié)果的SQL語(yǔ)句。初始化COM環(huán)境后,創(chuàng)建與數(shù)據(jù)庫(kù)的連接最佳方法是聲明一個(gè)Connection對(duì)象指針_ConnectionPtr,并把它用于和Connection對(duì)象進(jìn)行的所以交互中。一旦聲明了Connection對(duì)象指針,可以通過(guò)創(chuàng)建一個(gè)Connection對(duì)象的實(shí)例(調(diào)用函數(shù)CreateInst

6、ance()),并把Connection對(duì)象的UUID(接口的ID)作為唯一的參數(shù)傳給它,從而初始化它。_ConnectionPtr接口執(zhí)行過(guò)程是先創(chuàng)建一個(gè)_ConnectionPtr接口實(shí)例,接著指向并打開(kāi)一個(gè)ODBC數(shù)據(jù)源。下面給出使用_ConnectionPtr創(chuàng)建一個(gè)基于DSN和非DSN的數(shù)據(jù)連接的實(shí)例。(1)使用_ConnectionPtr基于非DSN數(shù)據(jù)連接語(yǔ)句。如果沒(méi)有注冊(cè)數(shù)據(jù)源,可直接通過(guò)連接字符串實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。分別針對(duì)SQLSERVER、ORACLE和Access數(shù)據(jù)庫(kù)給出連接字符串的構(gòu)造實(shí)例,讀者可直接使用對(duì)應(yīng)的例

7、句。(2)連接SQLSERVER。_ConnectionPtrpCon;/*定義pCon指針*/pCon.CreateInstance(__uuidof(Connection));/*初始化pCon指針*/strConn.="driver={SQLServer};Server=kobe;DATABASE=test;UID=sa;PWD=";pCon->Open((_bstr_t)strConn,"","",adModeUnknown);上述語(yǔ)句中,kobe是服務(wù)器名。如果連接本地?cái)?shù)據(jù)庫(kù),可以是“172.0.0.1”或“.”或“l(fā)ocalh

8、ost”都是可以的。test是數(shù)據(jù)庫(kù)名稱,SQLSERVER登錄的用戶名sa和密碼為空,這些參數(shù)可通過(guò)SQLSERVER的企業(yè)管理器更改。(3)連接Access。CStringstrConn;

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。