前言:
这个月因为在公司实习,需要用MFC操作EXCEL文件,在涉及到操作MySQL数据库对比文件时出现了很多问题,也吃了很多亏,虽然站上教程很多,但大多数都是实例教程,而且极少部分的误导性也很大,因此在实习生活即将结束的这段时间内,我想写这篇文章,来供以后的小白们查阅。
在此也感谢站上的各位大神分享的教程,给了我很大帮助:
博主「acme」的原创文章 :MFC连接MySQL数据库实例
原文链接:https://blog.csdn.net/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
在完成配置后,我们就可以开始连接数据库
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("连接失败");
}
再次调试一下,点击按钮后发现提示连接成功,到此我们的连接数据库步骤就结束了。