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编写数据库程序相关推荐

  1. VC++下使用ADO编写数据库程序 – 操作大全

    准备: (1).引入ADO类 1 #import "c:/program files/common files/system/ado/msado15.dll" / 2 no_nam ...

  2. python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...

    Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...

  3. 成功解决基于VS2015(Visual Studio2015)编写C++程序调试时弹出窗口一闪而过的问题

    成功解决基于VS2015(Visual Studio2015)编写C++程序调试时弹出窗口一闪而过的问题 目录 解决问题 解决方法 T1.修改配置属性的控制台

  4. Qt编写OpenMP程序--循环测试

    第一篇:https://blog.csdn.net/hats8888/article/details/46378281 最近一个客户需要处理大量股票数据,并跑到数据库里,原来的程序导入数据到数据库需要 ...

  5. 在VS2015中编写x86汇编

     参考教程: 作者:上下求索 VS2015,C嵌套汇编 & C,汇编相互调用 http://ylqhust.github.io/blog/2016/04/17/vs-clanguage-asm ...

  6. Delphi开发单机瘦数据库程序要点

    Delphi开发单机瘦数据库程序要点 日期:2004年12月30日 作者:loveghb 人气: 2736 查看:[大字体 中字体 小字体] 一.概述 Delphi作为Windows下的一种快速开发工 ...

  7. java 保存后中文乱码_sublime编写java程序保存编译,运行之后中文显示乱码

    sublime是常见的java编辑工具之一,在初学者使用时可以更好的熟悉每条命令,以及逻辑关系.但在编写的java程序里包含中文字符的时候,在通过cmd命令提示符编译并运行之后会出现乱码,如下图: 很 ...

  8. 如何编写数据库可视化界面_编写用于数据可视化的替代文本

    如何编写数据库可视化界面 什么是替代文字 (What is Alt Text) Alt text (sometimes called Alt tags or alternative text) are ...

  9. NoSQL数据库程序员应该在2019年学习的5大知识

    尽管Java或Web开发人员学习NoSQL数据库不是强制性的,但世界正朝着这个方向发展,Java和Web开发人员都应该熟悉NoSQL数据库. 如果您想知道NoSQL数据库是什么意思,那么这里是快速概述 ...

  10. python输入10个整数_python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。...

    python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明. 重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则 ...

最新文章

  1. java link 使用_使用 C 实现Java LinkList
  2. 首度揭秘:腾讯敏捷研发和极速交付破局之道
  3. Linux服务器ftp+httpd部署
  4. 在ARM Linux下使用GPIO模拟SPI时序详解
  5. h5 手风琴效果_小程序-实现折叠面板-手风琴效果
  6. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套
  7. 【转】GigE Vision简介
  8. java写pdf_java写出PDF
  9. UOS U盘已经复制成功,有时卡死
  10. win10 ie浏览器安装Flash Player Debugger解决方案
  11. ironman钢铁侠高清mac动态壁纸
  12. 常用PHP开发工具都有哪些(2021整理)
  13. 12个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球,13个呢
  14. 【图像处理】基于matlab边缘检测 Sobel、Roberts、Prewitt
  15. 微信二维码的生成(java后端)--邀请新人
  16. FeignClientSpecification could not be registered
  17. SharePoint 2010 安装错误:请重新启动计算机,然后运行安装程序以继续
  18. PyCharm母公司JetBrains出品,一款类似ggplot2的python可视化工具!!
  19. 【浏览器】Ajax 是什么? Ajax的基本流程?
  20. 搜狗2016校园招聘之算法编程解析

热门文章

  1. 基于java的局域网端口扫描工具
  2. 华三路由交换配置命令_h3c路由器配置命令
  3. U盘文件夹被病毒隐藏了
  4. 简单工厂模式、工厂模式以及抽象工厂模式(具体)
  5. OS X Mavericks 10.9.3 (13D65) 官方原版 懒人版安装镜像
  6. 超强PHP集成开发工具:phpDesigner v7.2.1 最新版下载(附注册机)
  7. GhostExp 2010特别版安装方法
  8. Linux 就该这么学
  9. spring调用webservice
  10. Java使用DFA算法处理敏感词汇