当前位置:   article > 正文

VS2013下MFC通过ADO连接Access数据库_ado创建access数据库

ado创建access数据库

(VS2013+Access2003)
1. 新建一个基于对话框的MFC项目:ADO_Access0306
在stdafx.h头文件末尾添加(网上有说在某个#include后面的添加的,也有说在合适位置添加的,我这里直接添加在最末尾)

win32位系统添加:

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
  • 1

win64位系统添加:

#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
  • 1

添加完成后#import下面会出现红色波浪线提示错误,不用理会,过会儿会消失。
2. 在ADO_Access0306Dlg.h类里的public下添加 :

	_ConnectionPtr  m_pConnection;  //连接access数据库的链接对象 
	_RecordsetPtr  m_pRecordset;  //结果集对象
	_CommandPtr	 m_pCommand;
  • 1
  • 2
  • 3

3. 初始化数据库连接:

在ADO_Access0306Dlg.cpp文件的OnInitDialog()初始化成员函数里添加如下代码:

try
	{
		CoInitialize(NULL);
		m_pConnection = _ConnectionPtr(__uuidof(Connection));
		m_pConnection->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;\
										  Data Source=bPR2011DB.mdb;Persist Security Info=False;Jet OLEDB:Database Password=ssbio123", "", "", adModeUnknown;//这里照着老版的书上写Provider=Microsoft.Jet.OLEDB.4.0;Data
		m_pConnection->Open("", "", "", adConnectUnspecified);
		AfxMessageBox(_T("数据库连接成功!"));
	}
	catch (_com_error e)
	{
		AfxMessageBox(_T("数据库连接失败!"));
		return FALSE;
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

注:对应路径下必须有bPR2011DB.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());
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

点击按钮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());
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

通过查看数据库连接可以看到表格数据:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/136077
推荐阅读
相关标签
  

闽ICP备14008679号