天天看点

数据库操作:MYSQL与MFC连接(二)

继上一片博客,这篇介绍数据库与mfc的连接,上篇是介绍用控制台连接mysql,其实mfc为代码增加一个界面,和一些消息相应(个人认为)

首先建一个mfc的工程,我这边建了一个dlg 建好后看一下选项-> 目录->包含目录和库目录中是否包含了mysql的路径

数据库操作:MYSQL与MFC连接(二)

再在dlg.cpp中添加:

#include”winsock.h”

#include“mysql.h”

#pragma comment(lib,”libmysql.lib”)

数据库操作:MYSQL与MFC连接(二)

然后与控制台下应用相类似:

声明一一个结构体来保存数据库操作所需要的变量

接下来是对界面的设计:

数据库操作:MYSQL与MFC连接(二)

我大致设计了:

按钮:数据库连接,查表(数据库下面有那些表),表内容(表中字段的内容),插入(将需向表中字段添加内容)

edit控件:用来显示从数据库中返回的值

大致将edit控件绑定一下的变量:

数据库操作:MYSQL与MFC连接(二)

接下来设置按钮的功能函数:同样在ctrl+w下选择需要的函数相应,添加(注意都在dlg类下添加),

在连接按钮中添加消息响应函数:

在查表中添加消息响应函数:

在表内容按钮中添加响应函数:

注:这边设置编码是因为edit控件好像不能显示utf8的编码类型所以要将输出的编码类型变成gbk,当然好像默认的latin1编码1类型,edit控件也能输出

在插入按钮中添加消息响应函数:

最后就能完成基本的查表插入等操作

实验结果:

数据库操作:MYSQL与MFC连接(二)

显示结果如图:

然后我向student表插入全为9的一条记录;

然后用mysql的控制台查询表内的记录结果如图:

数据库操作:MYSQL与MFC连接(二)

注前面两行乱码是因为我将这个数据库创建时是用默认的latin1,后来因为需要将mysql编码方式变为了utf8,这张表的编码方式没去改变,而且提醒一下改为utf8后在控制台下显示记录会乱码,原因是控制台显示的字符编码为gbk,这时要在查表之前加上set character set gbk

在mfc上更新的话主要用到了

updatedata(true);界面到后台

updatedata(false);后台到界面

数据库操作:MYSQL与MFC连接(二)