前言:

这个月因为在公司实习,需要用MFC操作EXCEL文件,在涉及到操作MySQL数据库对比文件时出现了很多问题,也吃了很多亏,虽然站上教程很多,但大多数都是实例教程,而且极少部分的误导性也很大,因此在实习生活即将结束的这段时间内,我想写这篇文章,来供以后的小白们查阅。

在此也感谢站上的各位大神分享的教程,给了我很大帮助:

博主「acme」的原创文章 :MFC连接MySQL数据库实例

原文链接:https://blog.csdn/qq_18297675/article/details/52240231

注:本人是20级计算机本科学生,学习了一年的C和C++但并不精通,MFC也是第一次接触。本文章可能会有技术性错误,请大家指正!谢谢!

教程中使用的IDE:Visual Studio 2019

使用的数据库:腾讯云数据库

首先

如果我们想要用MFC操作MySQL数据库无非就是三大步:

1.连接数据库

2.增删改查

3.关闭数据库

所以说这并不难,只要你有一定的C语言基础,已经对Mysql指令有一定的掌握,就会更加容易,接下来我将会按照顺序为大家说明如何操作。

1.连接数据库

这里我们要提醒小白的是,原生的MFC是没有mysql类库的!!

我们需要在安装完MySQL任意一个版本后,在VS中手动配置,这里我就不详细说明了,因为站里有人已经讲得很详细了,这里我放出一个链接大家可以参考。

用VS2017的MFC连接mysql数据库并写入数据

作者:ljp345775

https://blog.csdn/ljp345775/article/details/69262524

在完成配置后,我们就可以开始连接数据库

1.1头文件

我们能用到的头文件我都写在下面了,前两个<winsock.h>和<mysql.h>是必须添加的

#include <winsock.h>

#include <mysql.h>

#pragma comment(lib,"libmySQL.lib")//附加依赖项,也可以在工程属性中设置

#pragma comment(lib,"mysqlclient.lib")

像其他头文件一样 添加到MFC自动生成的XXXDlg文件中的头文件声明区域尾部即可。

注:(XXX为自定义的项目名)

 错误示范

写入头文件后,如果没有配置Mysql类库,或配置的不对就会提示“无法打开源文件mysql.h”

正确示范

头文件写入后,点击调试,窗口正常生成。即代表成功。

1.2连接操作

连接用到的指令有四个:

MYSQL m_sqlCon;  //声明数据库对象

mysql_init(&m_sqlCon);//初始化数据库对象

mysql_set_character_set(&m_sqlCon, "gb2312"); //设置字节符,防止中文乱码. mysql_real_connect(&m_sqlCon, 地址, 用户名, 密码, 数据库,端口, NULL, 0) // 连接数据库

MYSQL m_sqlCon;   声明数据库对象

mysql_init(&m_sqlCon)的作用是初始化一个数据库对象,我们下面的所有操作都是针对这个对象而进行的。

mysql_set_character_set(&m_sqlCon, "gb2312"),正如注释所说,没有这行代码,你的窗口提示等组件中的内容就会出现中文乱码现象。

 mysql_real_connect(&m_sqlCon, 地址, 用户名, 密码, 数据库,端口, NULL, 0) 

这行代码也是十分重要的,他会连接(括号)内我们输入的Mysql连接数据,当然你也可以放入变量。

下面进入实例说明

1.我们先生成一个按钮控件,ID为IDC_Connet_SQL

2.双击控件,在自动生成的 控件代码区域写入指令

这样我们的一个简易的连接操作就完成,当然他还不够完美,因为在点击按钮后,我们也不知道是否连接成功了,这里我们可以升级一下。

在连接指令区域加入一个IFelse语句,如果连接成功就会执行if语句,否则执行else语句

if(mysql_real_connect(&m_sqlCon, 地址, 用户名, 密码, 数据库,端口, NULL, 0) ){

MessageBox("连接成功");

}

else
  {
    MessageBox("连接失败");
  }

 再次调试一下,点击按钮后发现提示连接成功,到此我们的连接数据库步骤就结束了。

更多推荐

MFC连接与操作MySQL数据库详细教程(一)