下面进行设置:
(1)项目—>属性—>配置属性—>C/C++—>附加包含目录:在附加包含目录中添加C:/Program Files/MySQL/MySQL Server 5.7/include(就是安装MySql下的include文件夹,将头文件包含)
(2)项目—>属性—>配置属性—>连接器—>常规—>附加库目录:C:/Program Files/MySQL/MySQLServer 5.7/lib(就是安装MySql下的lib文件夹,将库文件包含)
(3)连接器—>输入—>附加依赖项:添加libmysql.lib(若此处不添加,需要最后在头文件中添加 #pragmacomment(lib,"libmysql.lib") )。
(4)编译通过之后,运行还要将C:/Program Files/MySQL/MySQLServer 5.7/lib(安装MySql下的lib文件夹)中的libmysql.dll拷到项目中的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为账号密码 managesystemdb为数据库名 3306为端口 if(!mysql_real_connect(&m_sqlCon,"localhost","root","123456","managesystemdb",3306,NULL,0)) { AfxMessageBox(_T("访问数据库失败!")); CString e=mysql_error(&m_sqlCon);//需要将项目属性中字符集修改为“使用多字节字符集”或“未设置” MessageBox(e); return; } else { AfxMessageBox(_T("成功!")); mysql_query(&m_sqlCon,"SET NAMES 'GB2312'");//解决从数据库中读取数据后汉字乱码显示的问题 }
经测试成功!!!
由于系统是32位或者64位的不同,编译时会引起如下错误:
无法解析的外部符号 _mysql_real_connect, 无法解析的外部符号 _mysql_query,无法解析的外部符号 _mysql_init;
解决办法见:http://blog.csdn.net/u010439291/article/details/43898997