失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > VS下MFC通过ADO连接Access数据库

VS下MFC通过ADO连接Access数据库

时间:2019-09-09 06:07:29

相关推荐

VS下MFC通过ADO连接Access数据库

(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数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。