VS2015+Access2016编写数据库程序
Access是微软在Office中集成的一种桌面式的数据库系统,在一些规模不大的数据库应用中,使用Access还是比较方便的。
在使用VS与Access编程的时候,还是有一些问题要注意,这里记录备查。本人使用的VS2015,C++语言,Access2016数据库。
1 环境设置
要在VS应用程序中使用ADO访问数据库,需要在stdafx.h的最后加上以下语句:
#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
2 连接字符串
对于目前的Access版本,连接字符串为:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DBPath
以上语句中的DBPath要替换成你自己数据库文件的真正路径,例如
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\MyDBApp\\Data\\Test.accdb
实际上,这个字符串可以用VS的工具来构建,方法是:
在VS2015中,菜单<工具>——<连接到数据库>,弹出<选择数据源>窗口,选择<Microsoft Access 数据库文件>,点击<继续>按钮。
在弹出的<添加连接>页面,数据库文件名项目浏览找到你的数据库文件,之后可以点击<测试连接>按钮,正常应该弹出提示"测试连接成功",如果这个测试通不过,需要检查其它问题。
测试连接成功后,点击<高级>按钮,弹出<高级属性>页面,最下面一行即显示了连接字符串,如下图所示,拷贝下来可以放到程序中直接用。
3 连接数据库
参照以下语句,即可正确连接数据库
头文件声明:
_ConnectionPtr m_pConnection;//连接access数据库的链接对象_RecordsetPtr m_pRecordset;//结果集对象
实现文件:
bool CMyDB::OpenConn(char* dbname)
{try {CoInitialize(NULL);if (dbname != NULL)sprintf_s(g_pDBName, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s", dbname);m_pConnection.CreateInstance("ADODB.Connection"); //创建连接对象实例_bstr_t strConnect = g_pDBName;m_pConnection->Open(strConnect, "", "", adModeUnknown); //打开数据库}catch (_com_error e) {AfxMessageBox(e.Description());return false;}return true;
}
4 程序配置
不能用X64配置,如果用X64配置,连接数据库时不成功,提示:“未找到提供程序,该程序可能未正确安装”。改为用WIN32配置即可。
附:几个备忘的技巧
1) 备忘的SQL语句
以下是经常用到,但是总记不住的语句,这里记下。
取得刚刚添加的记录的编号的语句
select @@identity
2) 字符串内容里包含单引号(’)的处理
字符串里包含单引号(’)时,作为查询条件或插入值时会出错,此时把字符串里的单引号(’)替换成双单引号(’’)即可。
VS2015+Access2016编写数据库程序相关推荐
- VC++下使用ADO编写数据库程序 – 操作大全
准备: (1).引入ADO类 1 #import "c:/program files/common files/system/ado/msado15.dll" / 2 no_nam ...
- python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...
Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...
- 成功解决基于VS2015(Visual Studio2015)编写C++程序调试时弹出窗口一闪而过的问题
成功解决基于VS2015(Visual Studio2015)编写C++程序调试时弹出窗口一闪而过的问题 目录 解决问题 解决方法 T1.修改配置属性的控制台
- Qt编写OpenMP程序--循环测试
第一篇:https://blog.csdn.net/hats8888/article/details/46378281 最近一个客户需要处理大量股票数据,并跑到数据库里,原来的程序导入数据到数据库需要 ...
- 在VS2015中编写x86汇编
参考教程: 作者:上下求索 VS2015,C嵌套汇编 & C,汇编相互调用 http://ylqhust.github.io/blog/2016/04/17/vs-clanguage-asm ...
- Delphi开发单机瘦数据库程序要点
Delphi开发单机瘦数据库程序要点 日期:2004年12月30日 作者:loveghb 人气: 2736 查看:[大字体 中字体 小字体] 一.概述 Delphi作为Windows下的一种快速开发工 ...
- java 保存后中文乱码_sublime编写java程序保存编译,运行之后中文显示乱码
sublime是常见的java编辑工具之一,在初学者使用时可以更好的熟悉每条命令,以及逻辑关系.但在编写的java程序里包含中文字符的时候,在通过cmd命令提示符编译并运行之后会出现乱码,如下图: 很 ...
- 如何编写数据库可视化界面_编写用于数据可视化的替代文本
如何编写数据库可视化界面 什么是替代文字 (What is Alt Text) Alt text (sometimes called Alt tags or alternative text) are ...
- NoSQL数据库程序员应该在2019年学习的5大知识
尽管Java或Web开发人员学习NoSQL数据库不是强制性的,但世界正朝着这个方向发展,Java和Web开发人员都应该熟悉NoSQL数据库. 如果您想知道NoSQL数据库是什么意思,那么这里是快速概述 ...
- python输入10个整数_python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。...
python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明. 重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则 ...
最新文章
- java link 使用_使用 C 实现Java LinkList
- 首度揭秘:腾讯敏捷研发和极速交付破局之道
- Linux服务器ftp+httpd部署
- 在ARM Linux下使用GPIO模拟SPI时序详解
- h5 手风琴效果_小程序-实现折叠面板-手风琴效果
- 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套
- 【转】GigE Vision简介
- java写pdf_java写出PDF
- UOS U盘已经复制成功,有时卡死
- win10 ie浏览器安装Flash Player Debugger解决方案
- ironman钢铁侠高清mac动态壁纸
- 常用PHP开发工具都有哪些(2021整理)
- 12个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球,13个呢
- 【图像处理】基于matlab边缘检测 Sobel、Roberts、Prewitt
- 微信二维码的生成(java后端)--邀请新人
- FeignClientSpecification could not be registered
- SharePoint 2010 安装错误:请重新启动计算机,然后运行安装程序以继续
- PyCharm母公司JetBrains出品,一款类似ggplot2的python可视化工具!!
- 【浏览器】Ajax 是什么? Ajax的基本流程?
- 搜狗2016校园招聘之算法编程解析