vc中利用ado共同實現(xiàn)數(shù)據(jù)庫的操作

vc中利用ado共同實現(xiàn)數(shù)據(jù)庫的操作

ID:14812217

大?。?1.00 KB

頁數(shù):9頁

時間:2018-07-30

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

《vc中利用ado共同實現(xiàn)數(shù)據(jù)庫的操作》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、VC中利用ADO共同實現(xiàn)數(shù)據(jù)庫的操作VC中利用ADO共同實現(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是一套用自動化技術(shù)建立起來的對象層次結(jié)構(gòu),它比其他的一些對象模型如DAO(DataAccessObject)、RDO(RemoteDataObject)等具有更好的靈活性,使用更為方便,并且訪問數(shù)據(jù)的效率更高。SQL是強大的數(shù)據(jù)庫操作系統(tǒng),通過ADO和SQL語句的配合,我們可以的實現(xiàn)對數(shù)據(jù)庫的一系列

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

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

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

5、"","",adModeUnknown);///連接數(shù)據(jù)庫///上面一句中連接字串中的Provider是針對ACCESS2000環(huán)境的,對于ACCESS97,需要改為:Provider=Microsoft.Jet.OLEDB.3.51;}}}catch(_com_errore)///捕捉異常{CStringerrormessage;errormessage.Format("連接數(shù)據(jù)庫失敗!r錯誤信息:%s",e.ErrorMessage());AfxMessageBox(errormessage);///顯示錯誤信息}}  第七步:在析構(gòu)函數(shù)中關(guān)

6、閉Connection對象并將其釋放,代碼如下:CTestadoView::~CTestadoView(){m_pConnection->Close();m_pConnection.Release();}  第八步:添加菜單項"創(chuàng)建數(shù)據(jù)庫表",并添加相應(yīng)的消息處理函數(shù),然后添加代碼如下:voidCTestadoView::OnAddtable(){_variant_tRecordsAffected;m_pConnection->Execute("CREATETABLEnew(IDINTEGER,usernameTEXT,oldINTEGER)",&Re

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

8、發(fā)現(xiàn)數(shù)據(jù)庫中剛才添加的表new已被刪除?! 〉谑剑禾砑硬藛雾?添加一列",并添加相應(yīng)的消息處

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

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

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