数据库的访问的一种方式就是:CS结构。即使用TCP/UDP协议进行远程访问,而数据库对于服务端的软件是本地访问!这种管理方式比较常见。

这里主要叙述Windows访问本地数据库的方法。

需要了解几个概念:

1、ADO是什么。ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。ADO也是Microsoft的组件对象模式(COM)的一部分。其实你可以理解成微软程序访问数据库的一种统一的接口,目的是简化数据库的访问(如果不使用ADO,就只能使用各种数据库自己提供的API函数)。

2、脱离平台的数据库包含哪些部分。SQL Server和数据源。至于SQL Server下载参见:https://dev.mysql.com/downloads/installer/。注意这两个版本都是等价的,听说那个容量小的是一个下载器(我下载的是那个容量大的)。SQL Server就相当于数据资源的底层管理者。

3、数据库驱动器(数据库连接器)。它是基于平台的。基于Windows平台的驱动器下载参见:https://dev.mysql.com/downloads/connector/odbc/。总共是4个,眼花了吧!建议下载MSI Installer。这是整个安装包,一键安装,你懂得!64位,32位都要下载!因为下面需要配置ODBC的(都下载了,肯定有一个能用,我的只能用32位的)。

至此需要的软件均已下载完成。

配置:

1、数据库驱动器直接双击安装即可。MySQL安装(包括数据库服务器)比较麻烦一点。都安装上肯定不会出错(我也是初学者)。主要安装MySQL server和MySQL shell、MySQL workbench。整个安装过程中需要配置主机/服务器名、端口、用户名、密码、数据库名。

主机/服务器名写ip地址或者localhost(本地)。端口默认即可,用户名,自己命名,但要记着!密码随便。数据库名随便写一个,因为在shell中你可以对数据库进行删除等操作。(MySQL已安装过了,不想再安装一遍了)。

2、设置odbc数据源(64,32位)均要设置一遍。建议创建系统DSN(所有用户均可访问,文件DSN可以在电脑上进行复制粘贴,如果编给其他电脑的可以选择文件DSN)。

点击右侧添加,

这两种编码自己查(即使查了也不一定能明白),我选的是第二项。

记住自己设置的DSN(Data Source Name)。其他选项一看就懂。至此DSN创建完成。

细心的也可能注意到了:MySQL for Visual Studio:https://dev.mysql.com/ downloads/windows/visualstudio/。听说那是给ADO.NET开发的,不懂.NET的就不要瞎搞了。我也不懂。

至此接口完成!

下面就能进行测试了,测试代码如下:

  1. #include <Windows.h>
  2.  
  3. #include <iostream>
  4.  
  5. #include <string>
  6.  
  7. using namespace std;
  8.  
  9. #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")
  10.  
  11. int main(int argc,char *argv[])
  12.  
  13. {
  14.  
  15. CoInitialize(NULL);
  16.  
  17. //Connect
  18.  
  19. _ConnectionPtr pConn;
  20.  
  21. pConn.CreateInstance(__uuidof(Connection));
  22.  
  23. try
  24.  
  25. {
  26.  
  27. HRESULT hr = pConn->Open("DSN=dsn;server=localhost;database=mydb;","user","password",adModeUnknown);
  28.  
  29. }
  30.  
  31. catch (_com_error&e)
  32.  
  33. {
  34. cout<< e.Description()<< endl;
  35. return -;
  36. }
  37.  
  38. //Open
  39.  
  40. _RecordsetPtr pRecord;
  41.  
  42. pRecord.CreateInstance(__uuidof(Recordset));
  43.  
  44. pRecord->CursorLocation = adUseClient;
  45.  
  46. pRecord->PutActiveConnection(pConn.GetInterfacePtr());
  47.  
  48. //Read
  49.  
  50. try {
  51.  
  52. pRecord->Open(_bstr_t("select * from mytable"), vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);
  53.  
  54. }
  55.  
  56. catch (_com_error &e) {
  57.  
  58. cout<< e.Description()<<endl;
  59.  
  60. //Table 'mydb.mytable' doesn't exist
  61.  
  62. }
  63.  
  64. while (!pRecord->adoEOF)
  65.  
  66. {
  67.  
  68. _variant_t vID = pRecord->GetCollect(_variant_t((long)));
  69.  
  70. _variant_t vName = pRecord->GetCollect("name");
  71.  
  72. _variant_t vSex = pRecord->GetCollect("sex");
  73.  
  74. cout<< (char*)(_bstr_t)vName<< " ";
  75.  
  76. cout<< (char*)(_bstr_t)vSex<< " "<<endl;
  77.  
  78. pRecord->MoveNext();
  79.  
  80. }
  81.  
  82. //Close
  83.  
  84. pRecord->Close();
  85.  
  86. pConn->Close();
  87.  
  88. CoUninitialize();
  89.  
  90. return ;
  91.  
  92. };

主要是配置pConn->Open()的参数,你的参数不一定跟我一样。如果直接运行的话,pRecord->Open()会抛出一个错误:Table 'mydb.mytable' doesn't exist。就是数据库是空的!

在这里往数据库中添加一些数据:

1. 打开MySQL 5.7 Command Line Client - Unicode(MySQL安装时,安装的),输入密码,回车。

2、输入指令进行添加数据。shell命令参考:http://blog.csdn.net/w174504744/article/details/7884997

3、注意shell命令单词之间的空格!

大家都是初学者,数据库创建完成,我现在还没找到数据库具体放哪呢。

声明:程序是粘贴的别人的!测试好用。如有侵权,请告诉我。

OVER!

Windows下使用VS的ADO访问MySQL的更多相关文章

  1. 在Windows下安装64位压缩包版mysql 5.7.11版本的方法

    为了学习数据库,自己去网上下载了最新版本的Windows64位的mysql 5.7.11,但是花了很长的时间在安装的问题上,同时也借鉴了几位前辈的博文来帮助自己解决在安装过程中遇到的问题,安装成功之后 ...

  2. 在windows下使用vs2013编译和调试mysql源代码

    1. 准备工作 1)OS:win10 + VS2013 2)mysql 源码(windows版):mysql-5.6.25.zip 3)perl tool:ActivePerl-5.16.3.1604 ...

  3. windows下配置svn的https访问

    svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...

  4. windows下通过VNC图形化访问Ubuntu桌面环境

    要在windows下图形化访问Ubuntu或其它Linux系统桌面环境有很多方法,我比较喜欢的是使用VNC服务,需要在Ubuntu下安装vncserver和在windows下安装客户端访问工具. 1. ...

  5. windows下安装Apache、php、mysql集成环境

    一.准备工作 本次安装的版本分别为:apache2.4  .php5.6 . mysql5.7 下载地址为:http://pan.baidu.com/s/1boQNIOn 密码:zarx 二.安装步骤 ...

  6. Windows下: RubyMine + Ruby On Rails + mysql 搭建开发环境

    最近在接手一个手机项目.在搭建环境的过程中,遇到了一些问题,在下文中已做记录,并奉上个人的解决方案. 开发环境 win2003 ;  JetBrains RubyMine6.3.3 1.  下载最新版 ...

  7. windows 下wamp环境2 配置之mysql的安装

    安装配置mysql 5.7 打开mysql官网: https://www.mysql.com/ 点击downloads,然后选择commuity 选择MySQL Community Server选择对 ...

  8. Windows下如何使用CMD命令进入MySQL数据库

    1.打开[开始]>[运行]输入[cmd]单击[确定]后出现CMD命令黑色窗口,这就是我们说的CMD命令行,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回 ...

  9. windows 下使用 zip安装包安装MySQL 5.7

    以下内容参考官方文档:http://dev.mysql.com/doc/refman/5.7/en/windows-start-command-line.html 解压缩zip到D:\mysql-5. ...

随机推荐

  1. JavaScript学习记录四

    title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  2. Java多线程编程模式实战指南(二):Immutable Object模式--转载

    本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-o ...

  3. Batch脚本获取日期SET YEAR=%date:~10,4%

    在batch脚本中我们可以通过下面的语句来对日期进行操作: SET YEAR=%date:~10,4% SET MONTH=%date:~4,2% SET DAY=%date:~7,2% SET HO ...

  4. 8年js总结

    http://www.cnblogs.com/tylerdonet/p/5543813.html

  5. 转 c#中 base64字符串与普通字符串互转

    https://blog.csdn.net/hwt0101/article/details/79758912 转成 Base64 形式的 System.String:    string a = &q ...

  6. 微信小程序手势滑动卡片案例

    最近工作中有项目要使用微信小程序技术进行开发,其中一项功能困扰了我很久,卡片滑动动效以及手势识别.经过一番研究和参考,现在把成果展示.记录自己踩到的坑,如果大家有需要,也可以帮助到大家. 效果图: 首 ...

  7. UNIX系统高级编程——第五章-标准I/O库-总结

    基础: 标准I/O库在ANSI C中定义,可移植在不同的系统 文件指针(FILE):标准I/O库操作的不是文件描述符,而是流.FILE文件指针包含的是维护流所需的信息 通过函数fileno获取流的文件 ...

  8. 用centos镜像 制作本地yum源

    1.上传iso镜像 2.挂载镜像到相应目录 mkdir /yumiso #创建目录mount -t iso9660 /dev/cdrom/sr0 /yumiso #挂载镜像文件到对应目录 3.备份旧的 ...

  9. jQuery第三课 点击按钮 弹出层div效果

    jQuery 事件方法 事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件. 触发实例: $("button#demo").click() 上面的例子将触发 id= ...

  10. Rancher介绍安装以及对docker的管理

    原文:Rancher介绍安装以及对docker的管理 一.简介 Rancher是一个开源的企业级全栈化容器部署及管理平台.Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务.存储服务.主 ...