操作系統:windows 7
軟件環境:visual studio 2008 、Microsoft SQL 2005
本次目的:介紹一個已經封裝的ADO類,簡單說明怎么導入使用
首先聲明一下,這個封裝的ADO類是在【vc知識庫 】下載的,因為最近在數據庫課程設計,所以對vc++下使用ADO連接數據庫不是很了解,故若是本文有錯誤的地方的,請不吝指出。具體的ADO類各個封裝功能請進入【原文地址 】查看。在此僅介紹使用此ADO封裝類的入門,如連接數據庫,顯示記錄等。一個測試例子如下:
使用步驟:
1.先從【這里 】下載封裝的ADO類,可以用記事本之類的打開里面的文件,對於每個功能已經注釋的蠻詳細的;
2.准備數據庫,可以是SQL 2000 或更高的,在這里我是用SQL 2005,新建一個vc_sqlexample數據庫一個student表,格式如下:
3.具體的表內容可以隨便寫,然后新建MFC基於對話框工程(名稱為測試1),右鍵工程名,添加封裝的ADO類到工程里面;
4.初始化 COM 環境,添加以下代碼:
- /* 測試1.h */
- class C測試1App : public CWinApp
- {
- public:
- virtual int ExitInstance();
- }
- /* 測試1.cpp */
- BOOL C測試1App::InitInstance()
- {
- CoInitialize(NULL);
- }
- int C測試App::ExitInstance()
- {
- CoUninitialize();
- return CWinApp::ExitInstance();
- }
5.在對話框(工程基於對話框)頭文件添加"ado.h",在類的聲明里添加對象。並且在實現文件里面的OnInitDialog函數連接數據庫。
- #include "ado.h"
- class C測試1Dlg : public CDialog
- {
- protected:
- CAdoConnection m_adoConnection;
- CAdoRecordSet m_adoRecordSet;
- }
- /* 測試1Dlg.cpp : 實現文件 */
- BOOL C測試1Dlg::OnInitDialog()
- {
- if (m_adoConnection.ConnectSQLServer("127.0.0.1","vc_sqlexample","sa","wjs1314"))
- {
- m_adoRecordSet.SetAdoConnection(&m_adoConnection);
- m_adoRecordSet.SetCursorLocation();
- m_adoRecordSet.Open("student", adCmdTable);
- m_adoConnection.BeginTrans();
- UpdateRecord(TRUE);
- }
- else
- {
- MessageBox("數據庫連接失敗!");
- }
- }
6.為控件添加變量(右鍵控件添加變量),和一個顯示數據的函數,還有上一條記錄、下一條記錄的按鈕功能
- class C測試1Dlg : public CDialog
- {
- public:
- COleDateTime m_strBirth;
- CString m_strBrief;
- CString m_strStuId;
- CString m_strName;
- CString m_strSex;
- BOOL UpdateRecord(BOOL bLoad = TRUE);
- }
- BOOL C測試1Dlg::UpdateRecord(BOOL bLoad)
- {
- if (m_adoRecordSet.GetRecordCount() < 1) return FALSE;
- if (bLoad)
- {
- if (!m_adoRecordSet.GetCollect("stuId", m_strStuId)
- || !m_adoRecordSet.GetCollect("stuName", m_strName)
- || !m_adoRecordSet.GetCollect("stuSex", m_strSex)
- || !m_adoRecordSet.GetCollect("birth", m_strBirth)
- || !m_adoRecordSet.GetCollect("brief", m_strBrief) )
- {}
- UpdateData(FALSE);
- return TRUE;
- }
- }
- void C測試1Dlg::OnBnClickedButton1()
- {
- // TODO: 在此添加控件通知處理程序代碼
- UpdateData();
- if (m_adoRecordSet.MovePrevious())
- UpdateRecord();
- }
- void C測試1Dlg::OnBnClickedButton2()
- {
- // TODO: 在此添加控件通知處理程序代碼
- UpdateData();
- if (m_adoRecordSet.MoveNext())
- UpdateRecord();
- }
7.啟動數據庫,運行編譯程序。
http://blog.csdn.net/akof1314/article/details/4657780