直接利用DAO來創(chuàng)建、讀寫Access文件,總的說來,對比上篇《直接通過ODBC讀、寫Excel文件》來講,要簡單一些。在下面的示例中,我們將用到兩種方法:SQL和DAO類函數(shù)來混合實現(xiàn)它們,這樣做的目地,我想可以使大家更加方便靈活的運用它們來完成你想要做的東西。在示例程序中默認指定創(chuàng)建數(shù)據(jù)庫名為:Demo.mdb,內部表名為:DemoTable,寫入兩個字段:名字和年齡,采用和上一篇讀寫Excel類似的操作,你也可以根據(jù)自己需要來動態(tài)改變它們。
下面讓我們來簡要看看它的實現(xiàn)步驟:
1. 首先,應確保包含進了afxdao.h頭文件,可以在StdAfx.h文件中包含它,如下:
#include //加入DAO數(shù)據(jù)庫支持
2. 聲明DAO庫及其記錄集變量,可在你的實現(xiàn)文件中加入下面代碼: CDaoDatabase db; //數(shù)據(jù)庫
CDaoRecordset RecSet(&db); //記錄集3. 接著,先讓我們來實現(xiàn)它的創(chuàng)建及寫入操作void CRWAccessDlg::OnWriteAccess()
{
//獲取主程序所在路徑,存在sPath中
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind (''\\'');
sPath=sPath.Left (nPos);
//默認創(chuàng)建數(shù)據(jù)名:Demo.mdb,內部表名:DemoTable,表內有二個字段:姓名、年齡
CString lpszFile = sPath + "\\Demo.mdb";
下面讓我們來簡要看看它的實現(xiàn)步驟:
1. 首先,應確保包含進了afxdao.h頭文件,可以在StdAfx.h文件中包含它,如下:
#include //加入DAO數(shù)據(jù)庫支持
2. 聲明DAO庫及其記錄集變量,可在你的實現(xiàn)文件中加入下面代碼: CDaoDatabase db; //數(shù)據(jù)庫
CDaoRecordset RecSet(&db); //記錄集3. 接著,先讓我們來實現(xiàn)它的創(chuàng)建及寫入操作void CRWAccessDlg::OnWriteAccess()
{
//獲取主程序所在路徑,存在sPath中
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind (''\\'');
sPath=sPath.Left (nPos);
//默認創(chuàng)建數(shù)據(jù)名:Demo.mdb,內部表名:DemoTable,表內有二個字段:姓名、年齡
CString lpszFile = sPath + "\\Demo.mdb";