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

  • 相关阅读:
    7月30日 举办专注于微服务的.NET Conf Focus
    我和ABP vNext 的故事
    Windows环境搞好的Dockerfile文件 在Linux上报错了
    [LeetCode] 955. Delete Columns to Make Sorted II 删除列使其有序之二
    [LeetCode] 954. Array of Doubled Pairs 两倍数对儿数组
    上周热点回顾(8.3-8.9)团队
    发布新版首页“外婆新家”升级版:全新的UI,熟悉的味道团队
    上周热点回顾(7.27-8.2)团队
    终于换新颜:新版网站首页发布上线团队
    上周热点回顾(7.20-7.26)团队
  • 原文地址:https://www.cnblogs.com/ifreewolf/p/9334976.html
Copyright © 2011-2022 走看看