首页 > 代码库 > MFC通过ODBC连接mysql(使用VS2012编写MFC)
MFC通过ODBC连接mysql(使用VS2012编写MFC)
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。
在用户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语句自行定制。
以上代码仅为打开数据库的最简单操作。