參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作

參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作

ID:40634575

大?。?6.50 KB

頁數(shù):11頁

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

參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作_第1頁
參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作_第2頁
參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作_第3頁
參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作_第4頁
參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作_第5頁
資源描述:

《參考資料VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、VC中利用ADO共同實(shí)現(xiàn)數(shù)據(jù)庫的操作  ADO是應(yīng)用層的編程接口,它通過OLEDB提供的COM接口訪問數(shù)據(jù),它適合于各種客戶機(jī)/服務(wù)器應(yīng)用系統(tǒng)和基于Web的應(yīng)用,尤其在一些腳本語言中訪問數(shù)據(jù)庫操作是ADO的主要優(yōu)勢。ADO是一套用自動(dòng)化技術(shù)建立起來的對(duì)象層次結(jié)構(gòu),它比其他的一些對(duì)象模型如DAO(DataAccessObject)、RDO(RemoteDataObject)等具有更好的靈活性,使用更為方便,并且訪問數(shù)據(jù)的效率更高。SQL是強(qiáng)大的數(shù)據(jù)庫操作系統(tǒng),通過ADO和SQL語句的配合,我們可以的實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的一系列操作,例如創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、創(chuàng)建索引

2、,實(shí)現(xiàn)數(shù)據(jù)庫的多重查詢、高級(jí)查詢和數(shù)據(jù)的匯總等技術(shù)。下面通過例程介紹如何通過ADO和SQL語句的配合實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作?! 〉谝徊剑和ㄟ^Access創(chuàng)建數(shù)據(jù)庫test.mdb?! 〉诙剑簞?chuàng)建單文檔工程testado,所有的選項(xiàng)都取默認(rèn)值?! 〉谌剑篊OM庫的初始化  我們可以使用AfxOleInit()來初始化COM庫,這項(xiàng)工作通常在CWinApp::InitInstance()的重載函數(shù)中完成,請(qǐng)看如下代碼:  BOOLCADOTest1App::InitInstance()   {    AfxOleInit();    ......  第四步:

3、用#import指令引入ADO類型庫  我們?cè)趕tdafx.h中加入如下語句:  #import"c:programfilescommonfilessystemadomsado15.dll"no_namespacerename("EOF","adoEOF")這一語句有何作用呢?其最終作用同我們熟悉的#include類似,編譯的時(shí)候系統(tǒng)會(huì)為我們生成msado15.tlh,ado15.tli兩個(gè)C++頭文件來定義ADO庫?! 〉谖宀剑涸趖estadoview.h中定義一個(gè)指向Connection對(duì)象的指針:_ConnectionPtr_pConne

4、ction;  第六步:添加如下代碼:voidCTestadoView::OnInitialUpdate(){CView::OnInitialUpdate();HRESULThr;11try{hr=m_pConnection.CreateInstance("ADODB.Connection");//創(chuàng)建Connection對(duì)象if(SUCCEEDED(hr)){hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=test.mdb","","",adModeUnknown)

5、;///連接數(shù)據(jù)庫///上面一句中連接字串中的Provider是針對(duì)ACCESS2000環(huán)境的}}}catch(_com_errore)///捕捉異常{CStringerrormessage;errormessage.Format("連接數(shù)據(jù)庫失敗!r錯(cuò)誤信息:%s",e.ErrorMessage());AfxMessageBox(errormessage);///顯示錯(cuò)誤信息}}  第七步:在析構(gòu)函數(shù)中關(guān)閉Connection對(duì)象并將其釋放,代碼如下:CTestadoView::~CTestadoView(){m_pConnection->Clo

6、se();m_pConnection.Release();}  第八步:添加菜單項(xiàng)"創(chuàng)建數(shù)據(jù)庫表",并添加相應(yīng)的消息處理函數(shù),然后添加代碼如下:voidCTestadoView::OnAddtable(){_variant_tRecordsAffected;m_pConnection->Execute("CREATETABLEnew(IDINTEGER,usernameTEXT,oldINTEGER)",&RecordsAffected,adCmdText);}  運(yùn)行程序,執(zhí)行菜單當(dāng)中的命令"添加表",我們可以發(fā)現(xiàn)數(shù)據(jù)庫中已經(jīng)添加了一個(gè)表new,其中的

7、字段有我們定義的字段。  第九步:添加菜單項(xiàng)"刪除數(shù)據(jù)庫表",并添加相應(yīng)的消息處理函數(shù),然后添加代碼如下:11voidCTestadoView::OnDeleteTable(){_variant_tRecordsAffected;m_pConnection->Execute("DROPTABLEnew",&RecordsAffected,adCmdText);}  運(yùn)行程序,執(zhí)行菜單當(dāng)中的命令"刪除表",我們可以發(fā)現(xiàn)數(shù)據(jù)庫中剛才添加的表new已被刪除?! 〉谑剑禾砑硬藛雾?xiàng)"添加一列",并添加相應(yīng)的消息處理函數(shù),然后添加代碼如下:voidCTestado

8、View::OnAddColumn(){_variant_tRecordsAff

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(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)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。