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的位數與系統位數是否一致。本文是...