C++MFC连接MYSQL数据库

时间:2022-01-01 13:10:26

今天分享一下VS2013MFC利用mysql自己的api函数来连接MYSQL数据库,数据库的安装在这里不多说,可以找教程,我主要记录一下C++MFC连接数据库。需要说明一点,我使用的VS201332位的,所以MYSQL也必须使用32位的,这样不会出现莫名奇妙的错误。接下来开始步骤:

一:项目配置

1.打开mysql的安装路径,找到include文件夹和lib文件夹
如图:
   C++MFC连接MYSQL数据库

2.打开项目 –> 属性 –>VC++目录  
如图:
   C++MFC连接MYSQL数据库

includelib分别添加到包含目录和库目录即可

3.打开项目 –> 属性 –> 链接器 –> 输入 –> 附加依赖项
如图:
   C++MFC连接MYSQL数据库

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