今天分享一下VS2013MFC利用mysql自己的api函数来连接MYSQL数据库,数据库的安装在这里不多说,可以找教程,我主要记录一下C++MFC连接数据库。需要说明一点,我使用的VS2013是32位的,所以MYSQL也必须使用32位的,这样不会出现莫名奇妙的错误。接下来开始步骤:
一:项目配置
1.打开mysql的安装路径,找到include文件夹和lib文件夹
如图:
2.打开项目 –> 属性 –>VC++目录
如图:
把include和lib分别添加到包含目录和库目录即可
3.打开项目 –> 属性 –> 链接器 –> 输入 –> 附加依赖项
如图:
把libmysql.lib添加进去,也可以在cpp文件中手动添加.
4.最后再把libmysql.dll动态库复制到项目文件下面就可以了。否则运行时会提示缺少此库。
二:代码编辑
1.连接数据库:
//初始化数据库
mysql_init(&local_mysql);
//设置数据库编码格式
mysql_options(&local_mysql, MYSQL_SET_CHARSET_NAME, "gbk");
//连接数据库
if (!mysql_real_connect(&local_mysql, "localhost", "root", "123456", db_name, 9806, NULL, 0))
{
//AfxMessageBox("connect to database failed!");
return FALSE;
}
2.执行SQL语句
//定义字符数组,存储要执行的SQL语句
char sql_select[100];
//将要执行的SQL语句放入数组中
sprintf(sql_select, "SELECT *FROM USERINFO WHERE USER='%s';", user);
//执行语句
if (mysql_query(&local_mysql, sql_select) == 0)//执行查询语句成功!
{
//执行SQL语句成功
}
3.其它
//检查是否已经连接了数据库
if (mysql_ping(&local_mysql) == 0)/
{
//AfxMessageBox("数据库已连接!")
}
//断开数据库连接
mysql_close(&local_mysql);
//获取SQL执行错误结果
mysql_error(&local_mysql);//获取数据库错误信息
4.获取数据集
//从执行结果中获得结果集
MYSQL_RES* result = mysql_store_result(&local_mysql);
MYSQL_ROW row;
// 将结果逐行读出直到读完
while (row = mysql_fetch_row(result))
{
//处理逐行结果
m_data[i].push_back(m_row[0]);
m_data[i].push_back(m_row[1]);
m_data[i].push_back(m_row[2]);
m_data[i].push_back(m_row[3]);
m_data[i].push_back(m_row[4]);
m_data[i++].push_back(m_row[5]);
}
有任何问题,或者需要后台服务器交流,请联系我QQ:2769519484