ADO資料庫程式設計入門

2021-05-28 00:54:44 字數 2712 閱讀 3273

ado資料庫程式設計入門

2010-10-26 21:42

[c/c++]

vc++ ado連線sql server問題與解決方案

以前沒有用vc連線過資料庫,今天由於幫人做畢設就嘗試了一下。

(1)建立odbc資料來源。

參考方法:

牢記:在此之前要把自己的資料庫伺服器啟動,不然在伺服器選擇的時候看不到自己的伺服器。

(2)在工程的stdafx.h裡用#import引入ado庫檔案。

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("bof","adobof") rename("eof","adoeof")

我是參考了如下文章:

原文引用如下:

非mfc工程使用mfc庫時的問題及解決辦法

2023年1月16日13:49星期一   [筆記

]李世平的專欄

一、問題由來

vc6和vc71的工程嚮導中都包含非mfc的工程,諸如win32 console project, win32 static library。非mfc工程建立時是不支援mfc特性的,然後我們在處理實際問題時有時會用到mfc相關類,如cstring, cedit等等,這是很正常的。可能有人會說,為何不在一開始就建立mfc工程呢?問題在於mfc工程會產生很多嚮導生成**,如基於單文件的工程會有view,doc等類,很多時候我們只需要乙個空工程就可以了。

二、常見問題

非mfc工程使用mfc庫時最常見的問題就是windows.h重複包含錯誤,具體如下:

三、解決辦法

非mfc工程使用mfc庫時,可參考以下步驟

1、工程設定中,將mfc的使用由原來的「使用標準windows庫」改為「在共享dll中使用mfc」(vc71)

microsoft foundation classes: use mfc in a shared dll, no using mfc(vc6)

note:因為我用的是中文版的vc71,英文版的vc6.

2、標頭檔案包含

不同的mfc類需包含的標頭檔案是不一樣的。

常用的類,如cstring, cedit 等,包含afxwin.h就可以了

如果不清楚包含什麼標頭檔案的話,可以同msdn進行查詢,msdn中,對於mfc類的介紹中,都會給出相應的header file requirement.

3、#include 語句一定要寫在首行

這一點很重要,通常出現前面講到的windows.h重複包含錯誤,都是因為#include 語句沒有寫在首行。

另外還要注意的是,如果#include語句是在乙個標頭檔案裡,那麼對應標頭檔案的包含也要寫在首行。示例如下:

=============

test.h檔案的內容如下:

#include //保證該語句在首行

test.cpp的檔案內容如下:

#include 「test.h」 //同樣也要保證該語句在首行

=============

ps: 這麼做的具體原因我也不知道,我是在實際除錯中琢磨出這個道理的。我自己在這個問題上花了很多冤枉時間,寫下該篇,就是希望大家不要在這個問題上絆腳。

(3)在進行連線之前要初始化ole環境,初始化語句

::coinitialize(null); //初始化ole/com庫環境 

afxoleinit();//初始化ole/com庫環境(mfc自帶的)

這兩句話缺一不可,不然會有執行期錯誤

程式執行結束後記住::couninitialize();  //關閉ole/com庫環境,釋放資源

最後推薦一篇文章:

全文引用如下:

ado資料庫程式設計入門

2004-11-16 19:55:41   天宇網苑   keaton   閱讀301次

_bstr_t strconnect = "provider=sqloledb; server=hch; database=mytest; uid=sa; pwd=sa;";

trycatch(_com_error &e)

(4)//定義_recordsetptr變數,呼叫它recordset物件的open,即可開啟乙個資料集

_recordsetptr precordset;

if (failed(precordset.createinstance(__uuidof(recordset))))

trycatch (_com_error &e)

(5)//定義_recordsetptr變數,呼叫它recordset物件的open,即可開啟乙個資料集

_recordsetptr precordset;

if (failed(precordset.createinstance(__uuidof(recordset))))

trycatch (_com_error &e)

(6)// 讀取當前記錄集

try}

catch (_com_error &e)

(7)// 修改記錄

try}

catch (_com_error &e)

(8)新增,刪除,使用帶引數的命令,相應ado的通知事件,繫結資料,設定過濾條件,索引和排序,事務處理。(略去,請參考其它資料)

ADO資料庫程式設計入門

ado資料庫程式設計入門 文件簡介 本文簡要介紹了在vc 6.0中使用 ado進行客戶端資料庫程式設計的基本步驟,以及常見問題的解決方法,可供入門級的參考之用。關鍵字 ado vc 資料庫程式設計 目錄 在vc 中使用ado程式設計 使用 import方法的程式設計步驟 使用ado程式設計常見問題解...

ADO資料庫程式設計

一下 全部測試通過 連線資料庫 如下 hresult hr coinitialize null cstring strsql variant t user name try catch com error e 查詢資料庫 cstring sql select from data variant t ...

MFC Access資料庫(ADO資料庫程式設計)

最近專案需要使用到資料庫,專案本身使用的是mfc。於是選擇了簡單的access資料,本文將介紹本人如何在mfc使用的access資料庫。順帶提一句,本文使用的系統為win8.1,64位,編譯環境為vs2010和office2010,如出現連線問題,可以看看access的位數與系統位數是否一致。本文是...