vs2012 MFC連線及操作access(2007)資料庫(ADO)
最近想寫個圖書管理軟體,用到了資料庫,但是由於是小白,弄了好半天才把資料庫搞明白。雖然網上有一些教程,但大多都是長長的文字敘述,所以想寫一個圖文版的連線教程並把這兩天的經驗記錄下來。
1、首先開啟access(本人用的是2007版本),新建一個空白的資料庫,並填入資訊,如下圖:
關閉此表,並重新命名(例如test)。
2、開啟vs2012,新建一個mfc工程名為managetest,在視覺化介面中新增兩個Edit control 控制元件,用來顯示資料庫中的資訊,新增一個button按鈕,用來觸發。如下圖。
3、在標頭檔案stdafx.h中新增下面語句來支援ADO的元件型別庫
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF1")//adoEOF可以改成別的,不同的專案裡面最好改成不一樣的。
ps:如果stdafx.h載入出錯,解決辦法 http://blog.csdn.net/lphbtm/article/details/50730807
4、切換到managetest.cpp中的BOOL CBookManageApp::InitInstance()函式中新增一下程式碼,用以初始化COM。
if(!AfxOleInit())
{
AfxMessageBox(_T("OLE初始化出錯!"));
return FALSE;
}
5、切換到managetestDlg.cpp,在步驟2中的按鈕控制元件的回撥函式中新增一下程式碼。
_ConnectionPtr m_pConnection;//ConnectionPtr指標用於開啟、關閉一個庫連線或用它的Execute方法來執行一個不返回結果的命令語句
_RecordsetPtr m_pRecordset;//_RecordsetPtr智慧指標,可以用來開啟庫內資料表,並可以對錶內的記錄、欄位等進行各種操作
CString csSQLstr;
CString bookid;
CString bookname;
csSQLstr ="SELECT * FROM test";//test 為步驟一種資料庫新建的表名。
try
{
m_pConnection.CreateInstance(__uuidof(Connection));//建立ADO連線
m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Database1.accdb","","",adModeUnknown);
//將資料庫檔案放在與程式碼檔案相同的目錄下,data source的賦值即可寫成上面語句中的形式,
//具體provider 與 data source的值可參考http://blog.csdn.net/u012388338/article/details/39393105
}
catch(_com_error e)
{
AfxMessageBox(_T("資料庫連線失敗,確認資料庫db.mdb是否在當前路徑下!"));
return;
}
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open((_bstr_t)csSQLstr,m_pConnection.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
//開啟一個記錄集(test表),通過這個記錄我們可以進行查詢,插入,刪除等操作。
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
bookid=m_pRecordset->GetCollect("BookID");
//得到test表中BookID的第一個值,這是由於開啟資料集後,指標在這個記錄集的開頭,
//可以通過movefist,movelast,movenext操作移動指標位置,getcollect可以讀取記錄集中的資訊。
bookname = m_pRecordset->GetCollect("BookName");
SetDlgItemText(IDC_BookID,bookid); //將得到的資訊顯示在文字框中
SetDlgItemText(IDC_BookName,bookname);
m_pRecordset->Close();//關閉記錄集
m_pRecordset = NULL;
m_pConnection->Close();//斷開資料庫連線
m_pConnection= NULL;
6、執行,點選顯示,得到結果
7、說明
本文只是簡單介紹了下mfc與access的連線及簡單操作。對於其中有些東西的解釋不是很完整,也沒有能力解釋,望見諒。
參考:
除文中提到的兩篇外,
http://blog.csdn.net/chaoguodong/article/details/7663877 mfc連線access資料庫 ,介紹了ADO的概念,新增庫的說明及ADO的操作程式碼
http://blog.sina.com.cn/s/blog_6da8e3ef0101fzyo.html ADO操作ACCESS資料庫的一些心得
http://www.csdn123.com/html/itweb/20130826/81725_81723_81707.htm MFC利用ADO連線ACCESS資料庫及其運算元據庫的方法,展示了插入,刪除等操作的詳細程式碼
相關文章
- 直接通過ADO操作Access資料庫資料庫
- PHP 連線access資料庫PHP資料庫
- java連線access資料庫Java資料庫
- ADO.NET連線資料庫資料庫
- ado.net 連線資料庫資料庫
- [資料庫連線字串] Access 連線字串(轉)資料庫字串
- [資料庫連線字串]Access連線字串(轉)資料庫字串
- ADO 資料庫連線斷開重連資料庫
- MFC 使用VS 連線 MySQL資料庫MySql資料庫
- ADO連線資料庫字串大全 (轉)資料庫字串
- 如何動態連線Access資料庫資料庫
- ASP,access資料庫連線方式大全資料庫
- asp.net連線Access資料庫例子ASP.NET資料庫
- Java連線遠端的Access資料庫Java資料庫
- 利用ADO壓縮Access資料庫程式碼資料庫
- win7 64 VC++ ado方式連線access 連線字串Win7C++字串
- 連線資料之遠端呼叫Access資料庫(轉)資料庫
- PHP 遠端使用 PDO 連線 access 資料庫PHP資料庫
- Ado.net中SQLServer資料庫連線池(轉)SQLServer資料庫
- VB6.0使用ADO物件連線資料庫: (轉)物件資料庫
- java 無需建立資料來源連線access資料庫Java資料庫
- C# 操作 access 資料庫C#資料庫
- SQL Server連線ACCESS資料庫的實現 (轉)SQLServer資料庫
- ADO.NET入門教程之資料庫連線池資料庫
- Oracle dos連線資料庫基本操作Oracle資料庫
- vs2012利用MFC開發基於對話方塊的小軟體指南(連線Mysql資料庫)MySql資料庫
- VB使用ADO物件連結資料庫物件資料庫
- python操作MySQL資料庫連線(pymysql)PythonMySql資料庫
- 簡單php連線資料庫作操作PHP資料庫
- [轉] 通過ADO連線各種資料庫的字串翠集資料庫字串
- Asp.net連線Access資料庫相對路徑寫法ASP.NET資料庫
- Python 連線mysql資料庫進行操作PythonMySql資料庫
- 透過ADO連線各種資料庫的字串翠集(一) (轉)資料庫字串
- 【PG資料庫】PG資料庫的安裝及連線方法資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- C#的Access資料庫操作 AccessHelper類C#資料庫
- 使用C#語言操作ADO資料庫 (轉)C#資料庫
- 連線資料庫資料庫