一、新建项目工程文件
二、设置属性
方法一:
1)项目—>属性—>配置属性—>C/C++—>附加包含目录:在附加包含目录中添加D:\Program Files\MySQL\mysql-5.7.29-win32\include(就是安装MySql下的include文件夹,将头文件包含)
2)项目—>属性—>配置属性—>连接器—>常规—>附加库目录:D:\Program Files\MySQL\mysql-5.7.29-win32\lib(就是安装MySql下的lib文件夹,将库文件包含)
3)连接器—>输入—>附加依赖项:添加libmysql.lib
方法二:
在属性管理器添加现有属性表mysql.props(在示例代码工程中有给出)
三、添加相应头文件
#include "winsock.h"
#include "mysql.h"
//#pragma comment(lib,"libmysql.lib") (若未进行方法一第(3)步设置,需要添加)
四、添加库文件
将安装MySql下的lib文件夹)中的libmysql.dll拷到项目中的Debug文件夹中
五、代码开发
连接
(头文件中定义MYSQL m_sqlCon;)
mysql_init(&m_sqlCon);
// localhost:服务器 root/123456为账号密码 managesystemdb为数据库名 3306为端口
if (!mysql_real_connect(&m_sqlCon, "localhost", "root", "root123", "test", 3306, NULL, 0))
{
AfxMessageBox(_T("访问数据库失败!"));
return;
}
else
{
AfxMessageBox(_T("成功!"));
mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//解决从数据库中读取数据后汉字乱码显示的问题
}
查询
CString str_query = _T("select * from testtable");
if (mysql_real_query(&m_sqlCon, CStringToCharArray(str_query), (unsigned long)str_query.GetLength()))
{
AfxMessageBox(_T("查询数据失败!"));
}
else
{
MYSQL_RES *result;
MYSQL_ROW row;
CString cstr_res = _T("");
result = mysql_store_result(&m_sqlCon);
while (row = mysql_fetch_row(result))
{
cstr_res += (CString)row[0];
cstr_res += " ";
cstr_res += (CString)row[1];
cstr_res += " ";
cstr_res += (CString)row[2];
cstr_res += "\n";
}
MessageBox(cstr_res);
}
六、示例工程