MFC新建Access数据库和表(vs2015+Access2016)
1. 准备工作
(1) 把下面两局代码写进stdafx.h里。位置是倒数第二行,或者#include <afxdisp.h> // MFC 自动化类 这句的后面。(别的位置没试过) (如果改变了位置,要先清理解决方案,再重新生成解决方案)
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
#import "C:\Program Files\Common Files\system\ado\msadox.dll" rename_namespace("ADOX")
(2)把下面一行代码写进XXX.cpp的InitInstance()函数里,位置是return之前。
if (!AfxOleInit())//这就是MFC初始化COM库 {AfxMessageBox(_T("OLE初始化出错!"));}
(3)在XXXDlg.h里添加变量
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
2. 新建数据库
参数是文件路径和文件名的字符串,如:
CreateAccess(_T(".\\xx\\xxx.accdb"));
函数功能:如果存在则提示存在,不存在则创建数据库文件。
void CTestAccessDlg::CreateAccess(CString PathAndAccessName)
{if (PathFileExists(PathAndAccessName)){MessageBox(_T("文件已存在"));}else{//MessageBox(_T("文件不存在"));ADOX::_CatalogPtr m_pCatalog = NULL; _bstr_t ConnectString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + (_bstr_t)PathAndAccessName;//MessageBox(ConnectString);try{m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog));m_pCatalog->Create((_bstr_t)ConnectString);}catch (_com_error *e){AfxMessageBox(e->ErrorMessage());}}
}
3.新建数据表
还可写一个获取字段的函数,此处不写了,只写姓名和年龄两个字段
void CTestAccessDlg::OnInitADOConn();void CTestAccessDlg::CreateAccessTable(CString TableName)
{_variant_t RecordsAffected;try{_bstr_t bstr1 = "CREATE TABLE ";_bstr_t bstr2 = (_bstr_t)TableName;_bstr_t bstr3 = "(姓名 TEXT, 年龄 INTEGER)";_bstr_t CommandText = bstr1 + bstr2 + bstr3;m_pConnection->Execute(CommandText, &RecordsAffected, adCmdText);MessageBox(_T("创建表成功"));}catch (_com_error *e){AfxMessageBox(e->ErrorMessage());}
}void CTestAccessDlg::ExitADOConn();
其中:
void CTestAccessDlg::OnInitADOConn()
{m_pConnection.CreateInstance(__uuidof(Connection));_bstr_t ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = .\\Test.accdb";try{m_pConnection->Open(ConnectionString, "", "", adModeUnknown);}catch (_com_error *e){AfxMessageBox(e->ErrorMessage());}
}
void CTestAccessDlg::ExitADOConn()
{try{if (m_pConnection->State){m_pConnection->Close();}m_pConnection = NULL;}catch (_com_error e){AfxMessageBox(e.ErrorMessage());}
}
MFC新建Access数据库和表(vs2015+Access2016)相关推荐
- access查询mysql_2017计算机二级Access数据库生成表查询教程
2017计算机二级Access数据库生成表查询教程 引导语;你知道运用Access数据库如何查询生成表吗,以下是百分网小编分享给大家的2017计算机二级Access数据库生成表查询教程,欢迎阅读! 生 ...
- C#使用VS 2010在程序加载时创建Access数据库和表
最近在用C#做一个时间管理系统,需要用到数据库.但由于之前都没有接触过C#,以至于走了很多弯路,所以做完之后顺便在这里记录一下.一来可以使自己养成写文档的习惯,二来也可以帮助到后面学习C#的朋友,可谓 ...
- Microsoft Access 数据库和表
文章目录 创建数据库 创建表 字段 数据类型 字段属性 输入掩码 格式 表与表的关系 创建数据库 数据库为单个文件:DatabaseName.accdb 创建表 设计视图创建表 创建->表设计: ...
- access2013数据库实验笔记_实验一 ACCESS数据库及表的操作
1 .掌握数据库的创建及其它简单操作 2 .熟练掌握数据表建立.数据表维护.数据表的操作 二.实验容与要求 1 .数据库的创建.打开.关闭 2 .数据表的创建:建立表结构.设置字段属性.建立表之间关系 ...
- C#操作Access数据库 增删改查
本文以ADOX操作Access 1.在C#中新建AccessClass.cs文件,内容如下 1 using System;2 using System.Collections.Generic;3 us ...
- VC++使用ADO开发ACCESS数据库
VC++使用ADO开发ACCESS数据库 ADO和ADOX到底是什么,二者的作用和区别 ADO是Microsoft 最新推出的数据库访问的高层软件接口.它和Microsoft以前的数据库访问接口DAO ...
- IIS站点配置和DW CS6连接Access数据库
1.配置IIS站点 ◆什么是IIS? Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务 ...
- Access数据库——Cookie注入
目录 1.Cookie注入 什么是Cookie? Cookie注入简介 Cookie和注入有什么关系? Cookie的核心 2.如何设置Cookie? 方法一:依靠浏览器进行设置 方法二:抓包直接修改 ...
- .net连接access数据库
很多时候我们并不需要很多数据库的功能,虽然Sqlserver已经很简单了,但是Access更简单,而且更容易移植,只要你安装了office 下面是使用步骤: 新建Access数据库 在桌面右键-新建M ...
- c#.net连接access数据库
c#.net连接access数据库 前期工作:创建一个access数据库,名为yonghu.mdb ,表明yonghu,字段为user_id,user_pwd PS:如何新建access数据库:左上角 ...
最新文章
- SVG.js 笔记 (一)
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
- Java 7代码层面上的更新
- 前端如何转换 schema 和 xml
- POJ 1679 判断最小树是否唯一
- 常用算法 之一 详解 MD5 实现(基于算法的官方原文档)及源码详细注释
- MySQL三大日志及主从复制的原理
- Error encountered when performing Introspect schema xxx 错误的解决方法
- 如何用耳机翻页_游戏耳机的经典之作—罗技(G)Astro A40体验
- 使用它tshark分析pcap的例子以及scapy下载地址
- vue 实现简约留言板
- win7 安装深度linux系统,深度系统纯净版win7下载安装推荐
- 钉钉手机版免密自动登陆SuiteCRM
- 群控源码源代码,微群控系统源码的实现原理,核心源码实现 核心框架,可二次开发
- 零阶保持模型和一阶保持模型离散的推导
- 容联云通讯发送短信java实现
- 睿智的目标检测28——YoloV4当中的Mosaic数据增强方法
- Photoshop生成320*320像素图片
- 搜狗浏览器安装自定义JS脚本的方法~
- Wave VR Native SDK学习(一)
热门文章
- 常用命令大全(网络命令+关机重启命令)
- linux添加变色龙引导,变色龙引导界面屏蔽多余盘符并默认启动Mac _ 黑苹果乐园...
- linux计划任务详解(附演示)
- gridview的sort_GRIDVIEW排序的动态实现...
- 手机拍摄的身份证怎么制作为复印件?
- Windows 技巧集
- [打印管理器]读取样式列表失败:Invalid variant operation
- 如何安装并且运行阿帕奇服务器 for windows
- 常微分方程 伍卓群 题目
- BlackBerry7290软件安装——电子书阅读Mobipocket