資源簡介
級別:入門級。
在VC++2010用ADO方法在ACCESS2010數據庫中增加、刪除和修改記錄。【要在機器中安裝Microsoft.ACE.OLEDB.12.0引擎,網上有下載的】。
本實例參照清華大學出版社的《Visual C++范例開發大全》,ISBN: 978-7-302-22624-6,作者: 陳國建. 等編著,版次: 2010年7月第1版。
本實例參照如下的章節改編出來的:
11.1 數據庫操作訪問技術實例 402
實例253 使用DAO建立Access數據庫文件 402
實例254 使用ADOX建立Access數據庫文件 404
實例255 使用ADO添加數據庫記錄 407
實例256 使用ADO查詢數據庫記錄 409
實例257 使用ADO刪除和修改數據庫記錄 413
本實例是把(自學VC++2010實例【001】)到(自學VC++2010實例【003】)整合在一起。
本人初學VC++,水平有限,請指教。郵箱:501448@qq.com

代碼片段和文件信息
//?DialogEdit.cpp?:?實現文件
//
#include?“stdafx.h“
#include?“MyProgram.h“
#include?“DialogEdit.h“
#include?“afxdialogex.h“
//?CDialogEdit?對話框
IMPLEMENT_DYNAMIC(CDialogEdit?CDialog)
CDialogEdit::CDialogEdit(CWnd*?pParent?/*=NULL*/)
:?CDialog(CDialogEdit::IDD?pParent)
?m_strHyname(_T(““))
?m_nHygongzi(0)
?m_Hydate(COleDateTime::GetCurrentTime())
?m_bHychina(FALSE)
?m_ID(0)
{
}
CDialogEdit::~CDialogEdit()
{
}
void?CDialogEdit::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX?IDC_EDIT_HYNAME?m_strHyname);
DDX_Text(pDX?IDC_EDIT_HYGONGZI?m_nHygongzi);
DDX_DateTimeCtrl(pDX?IDC_DATETIMEPICKER_HYDATE?m_Hydate);
DDX_Check(pDX?IDC_CHECK_HYCHINA?m_bHychina);
DDX_Control(pDX?IDC_LIST_HYACCDB?m_HyaccdbList);
DDX_Text(pDX?IDC_EDIT_ID?m_ID);
}
BEGIN_MESSAGE_MAP(CDialogEdit?CDialog)
ON_BN_CLICKED(IDC_BUTTON_INSERT?&CDialogEdit::OnBnClickedButtonInsert)
ON_BN_CLICKED(IDC_BUTTON_DEL?&CDialogEdit::OnBnClickedButtonDel)
ON_BN_CLICKED(IDC_BUTTON_MOD?&CDialogEdit::OnBnClickedButtonMod)
END_MESSAGE_MAP()
//?CDialogEdit?消息處理程序
BOOL?CDialogEdit::OnInitDialog()
{
CDialog::OnInitDialog();
//?TODO:??在此添加額外的初始化
/////////////////////////////////////////////////////
//CString?P_m_linxn_db_name?;??//在頭文件中定義數據庫名,全局變量。
P_m_linxn_db_name.Format(_T(“\\HNHY.accdb“));?//設定數據庫名字ACCESS2010要安裝Microsoft.ACE.OLEDB.12.0引擎
///////////////以下代碼表示得到當前可執行文件的絕對路徑/////////////
TCHAR?szPathName[MAX_PATH];
GetModuleFileName(NULL?szPathName?MAX_PATH);
CString?strPath?=?szPathName;
int?nPos;???
nPos?=?strPath.ReverseFind?(_T(‘\\‘));???
strPath?=?strPath.Left(nPos);
strPath??+=?P_m_linxn_db_name;?//_T(“\\HNHY.accdb“);?
CFileFind?m_lFindFile;
if(!m_lFindFile.FindFile(strPath))?//如果找不到該數據庫文件則警告!!!
{
???AfxMessageBox(_T(“數據庫文件不存在!!!“));
???return?FALSE;??
}
CString?strConnection;
//strConnection.Format(_T(“Provider=Microsoft.JET.OLEDB.4.0;Data?source=%s“)?strPath);
strConnection.Format(_T(“Provider=Microsoft.ACE.OLEDB.12.0;Data?source=%s“)?strPath);?//ACCESS2010要安裝Microsoft.ACE.OLEDB.12.0引擎
????
_bstr_t?strcnn(strConnection);
try
{
m_pConnection.CreateInstance(__uuidof(ADO::Connection));
m_pConnection->Open(strcnn??_T(““)?_T(““)ADO::adModeUnknown);
m_pRecordset.CreateInstance(__uuidof(ADO::Recordset));
}
catch(_com_error?e)
{
AfxMessageBox(_T(“建立數據庫連接失敗!!!“)MB_OK|MB_IConstop);
}
////////////////設置表格頭//////////
m_HyaccdbList.SetExtendedstyle(m_HyaccdbList.GetExtendedstyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_HyaccdbList.InsertColumn(0?_T(“姓名“)?LVCFMT_LEFT?100);
m_HyaccdbList.InsertColumn(1?_T(“工資“)?LVCFMT_LEFT?80);
m_HyaccdbList.InsertColumn(2?_T(“入校日期“)?LVCFMT_LEFT?100);
m_HyaccdbList.InsertColumn(3?_T(“黨員“)?LVCFMT_LEFT?100);
m_HyaccdbList.InsertColumn(4?_T(“記錄ID“)?LVCFMT_LEFT?80);
FreshList();
return?TRUE;??//?return?TRUE?unless?you?set?the?fo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????745472??2012-12-12?14:13??MyProgram\Debug\HNHY.accdb
?????文件???????6601??2012-12-12?14:00??MyProgram\MyProgram\DialogEdit.cpp
?????文件???????1065??2012-12-12?14:00??MyProgram\MyProgram\DialogEdit.h
?????文件???????8691??2012-12-03?18:00??MyProgram\MyProgram\MainFrm.cpp
?????文件???????1095??2012-12-03?18:00??MyProgram\MyProgram\MainFrm.h
?????文件?????129128??2012-12-12?14:12??MyProgram\MyProgram\MyProgram.aps
?????文件???????4954??2012-12-03?18:00??MyProgram\MyProgram\MyProgram.cpp
?????文件????????671??2012-12-03?18:00??MyProgram\MyProgram\MyProgram.h
?????文件??????29090??2012-12-12?14:12??MyProgram\MyProgram\MyProgram.rc
?????文件???????6362??2012-12-03?18:35??MyProgram\MyProgram\MyProgram.vcxproj
?????文件???????2919??2012-12-03?18:35??MyProgram\MyProgram\MyProgram.vcxproj.filters
?????文件????????143??2012-12-03?18:00??MyProgram\MyProgram\MyProgram.vcxproj.user
?????文件???????2574??2012-12-03?18:00??MyProgram\MyProgram\MyProgramDoc.cpp
?????文件????????865??2012-12-03?18:00??MyProgram\MyProgram\MyProgramDoc.h
?????文件???????2764??2012-12-03?18:43??MyProgram\MyProgram\MyProgramView.cpp
?????文件???????1241??2012-12-03?18:43??MyProgram\MyProgram\MyProgramView.h
?????文件???????3530??2012-12-03?18:00??MyProgram\MyProgram\ReadMe.txt
????.......?????67777??2009-08-31?02:31??MyProgram\MyProgram\res\MyProgram.ico
?????文件????????674??2012-12-03?18:00??MyProgram\MyProgram\res\MyProgram.rc2
????.......??????4710??2009-08-31?02:31??MyProgram\MyProgram\res\MyProgramDoc.ico
????.......??????1078??2009-08-31?02:31??MyProgram\MyProgram\res\Toolbar.bmp
????.......??????5816??2009-08-31?03:59??MyProgram\MyProgram\res\Toolbar256.bmp
?????文件???????4444??2012-12-12?14:00??MyProgram\MyProgram\resource.h
?????文件????????142??2012-12-03?18:00??MyProgram\MyProgram\stdafx.cpp
?????文件???????2021??2012-12-11?16:43??MyProgram\MyProgram\stdafx.h
?????文件????????234??2012-12-03?18:00??MyProgram\MyProgram\targetver.h
????.......??????7976??2009-08-31?03:59??MyProgram\MyProgram\UserImages.bmp
?????文件????????894??2012-12-03?18:00??MyProgram\MyProgram.sln
????..A..H.?????12800??2012-12-13?00:19??MyProgram\MyProgram.suo
?????目錄??????????0??2012-12-03?18:00??MyProgram\MyProgram\res
............此處省略6個文件信息
- 上一篇:C++primer5
- 下一篇:Skins VC6.0程序皮膚
評論
共有 條評論