VC連接Access數(shù)據(jù)庫(kù):[3]DAO方法
本篇分享DAO連接Access數(shù)據(jù)庫(kù)的方法中記錄集類(lèi)的使用,這種方法和上篇經(jīng)驗(yàn)(vc連接access數(shù)據(jù)庫(kù): [2]MFC ODBC方法)講到的方法非常相似。DAO方法的優(yōu)點(diǎn)是不必要配置數(shù)據(jù)源,而可以
本篇分享DAO連接Access數(shù)據(jù)庫(kù)的方法中記錄集類(lèi)的使用,這種方法和上篇經(jīng)驗(yàn)(vc連接access數(shù)據(jù)庫(kù): [2]MFC ODBC方法)講到的方法非常相似。DAO方法的優(yōu)點(diǎn)是不必要配置數(shù)據(jù)源,而可以直接設(shè)置數(shù)據(jù)庫(kù)的路徑。
新建MFC工程
我們繼續(xù)使用前幾篇經(jīng)驗(yàn)中的數(shù)據(jù)庫(kù)。新建一個(gè)MFC工程。新建一個(gè)基于CDaoRecordset類(lèi)的CAccessLink類(lèi)。
點(diǎn)擊OK,跳轉(zhuǎn)數(shù)據(jù)源選擇頁(yè)面,默認(rèn)是設(shè)置DAO數(shù)據(jù)源的路徑,我嘗試了一下,選擇桌面上的數(shù)據(jù)庫(kù),提示失敗信息。查資料說(shuō)是,這是DAO版本的問(wèn)題,暫時(shí)也沒(méi)有時(shí)間去換新的版本,就選擇ODBC數(shù)據(jù)源。
同樣我們打開(kāi)AccessLink.h文件,也會(huì)發(fā)現(xiàn),編譯器自動(dòng)生成了與數(shù)據(jù)庫(kù)字段相關(guān)聯(lián)的變量。我們?cè)谠擃^文件中添加#include "afxdb.h"。
接著我們?cè)趯?duì)話(huà)框類(lèi)中添加AccessLink.h頭文件,在初始化函數(shù)中添加以下代碼(代碼和上一篇經(jīng)驗(yàn)中基本上是一樣的,因?yàn)閙_AccessLink成員變量只在初始化函數(shù)中使用,所以可以定義為局部的)
CAccessLink m_AccessLink;
if (!m_(AFX_DB_USE_DEFAULT_TYPE))
{
AfxMessageBox("打開(kāi)數(shù)據(jù)庫(kù)失??!");
return FALSE;
}
if (!m_())
{
AfxMessageBox("數(shù)據(jù)庫(kù)不能上傳記錄!");
return FALSE;
}
m_();
m_AccessLink.m_Age 0;
m_AccessLink.m_Name "xiha";
m_AccessLink.Update();
我們運(yùn)行程序,打開(kāi)桌面上的數(shù)據(jù)庫(kù)文件,發(fā)現(xiàn)插入了數(shù)據(jù)。
補(bǔ)充:隱藏主對(duì)話(huà)框
之前提到過(guò),隱藏主對(duì)話(huà)框的方法是:將應(yīng)用程序類(lèi)中InitInstance()函數(shù)中的()語(yǔ)句注釋起來(lái),或者換成非模態(tài)對(duì)話(huà)框。