zoukankan      html  css  js  c++  java
  • C++MFC连接MYSQL数据库

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

    一:项目配置

    1.打开mysql的安装路径,找到include文件夹和lib文件夹
    如图:
      

    2.打开项目 –> 属性 –>VC++目录  
    如图:
       

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

    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

  • 相关阅读:
    OC面向对象—封装
    OC内存管理
    OC方法和文件编译
    OC语言基础知识
    OC语言前期准备
    C语言指针基础
    C语言字符串
    C语言数组
    C语言内存分析
    C语言函数
  • 原文地址:https://www.cnblogs.com/ifreewolf/p/9334976.html
Copyright © 2011-2022 走看看