原创文章,转载请注明原文:MFC通过ODBC连接mysql(使用VS2012编写MFC) By Lucio.Yang

1.ODBC连接mysql

首先ODBC是什么呢?

开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

可以通过如下路径找到ODBC:控制面板->管理工具->数据源(ODBC)

  1.1 安装mysql-odbc driver

    这个driver将mysql数据库与ODBC连接在一起。可以在mysql官网下载,但是需要注册。尤其需要注意,如果使用的是vs2012及更低的vs版本,请下载32位的driver,否则VS将不能成功连接ODBC。原因是VS只有32位版本,原因参照-为什么VS2010没有64位版本

  1.2 ODBC连接mysql

    打开ODBC(ODBC分32位和64位)。

    

    在用户DSN中点击添加。

    

    选择mysql odbc unicode driver,完成,出现以下界面。

    

    在Data Source Name中为数据源命名;Deccription为描述,可不填;TCP/IP Sever 填写localhost;User填写mysql用户名,Password填写mysql密码。当以上均填写正确时,Database就可以有mysql数据库中的数据库供你选择了。而后点击Test,显示successful则成功。

    然后回到用户DSN界面可以看到自己的DSN了。

2.MFC程序连接ODBC

    2.1 打开stdafx.h头文件,添加如下语句

      #include <odbcinst.h> 
      #include "afxdb.h"

      这两个头文件定义了之后要用到的数据库操作类。

    2.2 打开数据库

CDatabase db;
CString sentence;
sentence.Format("ODBC;DSN=Sunny;UID=%s;PWD=%s",MyPublicData.login_name,MyPublicData.login_pass);
db.Open(NULL,FALSE,FALSE,sentence);
if(!db.IsOpen ())
MessageBox();
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly, _T("SELECT * FROM login_info"));

  其中,format中的DSN、UID、PWD分别对应已建ODBC中的Data Source Name、User、Password。sql语句自行定制。

  以上代码仅为打开数据库的最简单操作。

  

MFC通过ODBC连接mysql(使用VS2012编写MFC)的更多相关文章

  1. MFC通过ODBC连接Mysql程序

    分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 MFC通过ODBC连接 ...

  2. 使用ODBC连接MySQL和EXCEL

    1.安装ODBC 安装MySQL的时候,可以直接把ODBC一并安装了.如果没有安装的话,则在 https://dev.mysql.com/downloads/connector/odbc/ 下载相应的 ...

  3. Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。

    题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...

  4. MFC与C#连接MYSQL乱码问题

    MYSQL数据库编码为:latin1 问题现象:插入中文乱码,及用中文作参数无法得到相应数据 如select * from userinfo where username='李小明' MFC中解决方法 ...

  5. ODBC连接mysql

    配置/etc/odbc.ini 执行命令:isql freeswitch freeswitch 123456 -v 第一个报错: [08S01][unixODBC][MySQL][ODBC 5.3(w ...

  6. ODBC连接MySQL出现"E_FAIL"错误

    ODBC不能处理这种格式的数据:0000-00-00,将其更新为正常的时间即可解决

  7. MFC连接MySQL

    其实,以前弄过sql,mysql应该是顺理成章很简单的事情,但很无奈,傻傻地弄了很久,还请教了别人,别人告诉我的跟我在网上查到的都是一样的,但还是不行,归根接地就是“mysql-connector-o ...

  8. eclipse编写连接MySQL的简单动态网页

    准备工作 下载Tomcat,建议使用最新版.下载并安装MySQL数据库,为了方便操作数据库,可以下载Navicat Premium,最新版不会提示不支持密码加密方式,所以下载最新版.除此之外,要想连接 ...

  9. Delphi XE8中的DBExpress使用ODBC方式连接MySQL 5.6.24 X64!!!!

    Delphi:XE2.XE8 MySQL:5.6.24 X64 今天准备做一个使用数据库的REST程序,最开始使用XE2,后来使用XE8,但是我遇到一个让我头疼的问题,就是无法连接我要使用的数据库,这 ...

随机推荐

  1. 代码混淆 GSON完满解决

    头疼的问题,json使用了google的gson三方包,可是混淆的时候出了问题 明明已经按照gson的官方文档,把混淆脚本加上去了,却还是出问题. 今天同事找到一篇博客,关于这个问题的: 我们是将js ...

  2. 优先队列(priorityqueue)

    队列是先进先出的线性表,顾名思义,优先队列则是元素有优先级的队列,出列的顺序由元素的优先级决定.从优先队列中删除元素是根据优先权的高低次序,而不是元素进入队列的次序.优先队列的典型应用是机器调度等. ...

  3. asp.net 树形控件 $.fn.zTree.init

    在网页中通过jquery脚本来构筑树形控件将是一个不错的选择,比如有一个文本框,当鼠标点击的时候,像弹出一个下拉框一样弹出一个树形控件,这似乎是一个不错的控制.下面主要讲讲这种树形控件的实现.为了能使 ...

  4. .NET 3.5(5) - LINQ查询操作符之Select、Where、OrderBy、OrderByDescending

    .NET 3.5(5) - LINQ查询操作符之Select.Where.OrderBy.OrderByDescending 介绍    ·Select - Select选择:延迟    ·Where ...

  5. HDU1789(Doing Homework again)题解

    HDU1789(Doing Homework again)题解 以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定任务分数和其截止日期,每日可完成一任务,输出当罚分尽可能小时 ...

  6. Qt5 文本编辑

    [应用场景]:在编辑框中输入一段文字,用鼠标选取文字,修改工具栏上的字体.字号大小.加粗.斜体等属性,选取的文字即发生相应的变化.       一. 任何一个文本编辑器的程序都要用到QTextEdit ...

  7. 修改已经提交到远端的git commit信息

    有这么一种场景,就是以前没有设置用户名和邮箱,导致提交时git commit信息中用户信息不正确.这样的情况导致后来我们提交代码到git上面时因为身份验证错误,只有到 push 阶段了才发现提交不上去 ...

  8. 轻松搞定javascript变量(闭包,预解析机制,变量在内存的分配 )

    变量:  存储数据的容器     1.声明        var   2.作用域       全局变量. 局部变量. 闭包(相对的全局变量):   3.类型         a.基本类型(undefi ...

  9. centos6.7配置git服务器

    1.yum install -y git 2.adduser git 3.cd /data/git 没有则创建该目录 git init --bare test.git;创建一个裸仓库,没有工作区,不需 ...

  10. C语言基础03

    1.随机数 :一个范围内随机数字的返回值. 格式为: arc4random() % ( num大值 -num小值 + 1 ) + num小值. int n,i= 0;           //控制随机 ...