(VS2013+\MySQL 5.7)
MFC连接MySQL的方法:首先建立一个MFC项目。
下面进行设置:
-
项目—>属性—>配置属性—>C/C++—>>常规—>附加包含目录:在附加包含目录中添加C:\Program Files (x86)\MySQL\MySQL Server 5.7\include(就是安装MySql下的include文件夹,将头文件包含)
-
项目—>属性—>配置属性—>连接器—>常规—>附加库目录:C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib(就是安装MySql下的lib文件夹,将库文件包含)
-
连接器—>输入—>附加依赖项:添加libmysql.lib(若此处不添加,需要最后在头文件中添加 #pragmacomment(lib,“libmysql.lib”) )。
-
编译通过之后,运行还要将C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib(安装MySql下的lib文件夹)中的libmysql.dll和 libmysql.lib 两个文件拷到项目中的Debug文件夹中(或者拷到C:\Windows\System32中)。
下面在项目头文件或者要连接数据库的文件程序中添加头文件:
#include "winsock.h"
#include "mysql.h"
//#pragma comment(lib,"libmysql.lib") (若未进行上面第 3 步设置,需要添加)
//******************************添加Button用于测试连接*************
void CMFCApplication1Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
MYSQL m_sqlCon;
mysql_init(&m_sqlCon);
// localhost:服务器 root,123456为账号密码, mydata为数据库名, 3306为端口
if(!mysql_real_connect(&m_sqlCon,"localhost","root","123456","managesystemdb",3306,NULL,0))
{
AfxMessageBox(_T("访问数据库失败!"));
// CString e = mysql_error(&m_sqlCon);//需要将项目属性中字符集修改为“使用多字节字符集”或“未设置”
CString e;
e.Format(_T("%d"), mysql_error(&m_sqlCon));//需要将项目属性中字符集修改为°使用多字节字符集”或未设置
MessageBox(e);
return;
}
else
{
AfxMessageBox(_T("成功!"));
mysql_query(&m_sqlCon,"SET NAMES 'GB2312'");//解决从数据库中读取数据后汉字乱码显示的问题
}
}
- 运行结果: