欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MFC通过ODBC连接mysql(使用VS2012编写MFC)_MySQL

程序员文章站 2022-05-01 13:34:00
...

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。

    MFC通过ODBC连接mysql(使用VS2012编写MFC)_MySQL

    在用户DSN中点击添加。

    MFC通过ODBC连接mysql(使用VS2012编写MFC)_MySQL

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

    MFC通过ODBC连接mysql(使用VS2012编写MFC)_MySQL

    在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
      #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语句自行定制。

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