(VS+Access)
1. 新建一个基于对话框的MFC项目:ADO_Access0306
在stdafx.h头文件末尾添加(网上有说在某个#include后面的添加的,也有说在合适位置添加的,我这里直接添加在最末尾)
win32位系统添加:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
win64位系统添加:
#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
添加完成后#import下面会出现红色波浪线提示错误,不用理会,过会儿会消失。
2. 在ADO_Access0306Dlg.h类里的public下添加 :
_ConnectionPtr m_pConnection; //连接access数据库的链接对象 _RecordsetPtr m_pRecordset; //结果集对象_CommandPtr m_pCommand;
3. 初始化数据库连接:
在ADO_Access0306Dlg.cpp文件的OnInitDialog()初始化成员函数里添加如下代码:
try{CoInitialize(NULL);m_pConnection = _ConnectionPtr(__uuidof(Connection));m_pConnection->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;\Data Source=bPRDB.mdb;Persist Security Info=False;Jet OLEDB:Database Password=ssbio123", "", "", adModeUnknown;//这里照着老版的书上写Provider=Microsoft.Jet.OLEDB.4.0;Datam_pConnection->Open("", "", "", adConnectUnspecified);AfxMessageBox(_T("数据库连接成功!"));}catch (_com_error e){AfxMessageBox(_T("数据库连接失败!"));return FALSE;}
注:对应路径下必须有bPRDB.mdb文档。
编译运行后显示:
5. 添加按钮:
(1)连接数据库成功后,我们新建按钮实现创建新表student,对应BUTTON1为响应按钮 :
双击BUTTON1 按钮,添加事件处理程序:
_variant_t RecordsAffected;try{CString TableName;TableName = "student";_bstr_t bstr1 = "CREATE TABLE ";_bstr_t bstr2 = (_bstr_t)TableName;_bstr_t bstr3 = "(id text, sex text, age INTEGER)";_bstr_t CommandText = bstr1 + bstr2 + bstr3;m_pConnection->Execute(CommandText, &RecordsAffected, adCmdText);MessageBox(_T("创建表成功"));}catch (_com_error *e){AfxMessageBox(e->ErrorMessage());}
点击按钮BUTTON1 ,响应以上程序,弹出“数据库连接成功!”,点击确定 -> 按钮BUTTON1 -> 弹出“创建表成功”
(2)新建按钮实现插入功能,对应BUTTON1 事件处理程序如下:
_variant_t RecordsAffected;CString AddSql;AddSql.Format(_T("INSERT INTO student(id,sex,age) VALUES('10','17',1)"));try{m_pConnection->Execute((_bstr_t)AddSql, &RecordsAffected, adCmdText);//m_pConnection->Execute((_bstr_t)AddSql, 0, adCmdText);上一行和本行效果一样AfxMessageBox(_T("添加用户成功!"));}catch (_com_error e){MessageBox(e.Description());}
通过查看数据库连接可以看到表格数据:
如果觉得《VS下MFC通过ADO连接Access数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!