好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mysql connector c++ (vc2010)

    IDE:vc2010

    c++库:boost(使用mysql connector c++需要先配置boost库),mysql connector c++ 1.1.5

    数据库:mysql5.6

  0x01  安装boost库以及mysql connector c++

    首先下载boost库以及mysql connector c++(这2项都能再各自的官网上下到,就不提供链接了)

    安装boost库,下载完boost-1.58.zip ,解压缩后运行bootstrap.bat,运行完成后会多出b2.exe以及bjam.exe这2个可运行程序,这里我们只需接着运行bjam.exe(这个程序运行的时间会比较长,可以看一集银魂的说^_^),结束后你可以把总的文件贴到你需要的文件夹内。

    至于mysql connector c++,我直接下载的是.msi安装文件,安装即可,默认目录为C:\Program Files\MySQL\MySQL Connector C++ 1.1.5

    至此需要的文件已安装完毕,接下来就是配置vc2010了。

   0x02  配置vc2010

    1.首先创建一个空的工程,并添加一个cpp文件。

    2.为当前工程添加目录

      找到配置选项页:

        首先我们需要确认你的mysql版本以及mysql connector c++的版本是32位还是64位,如果是均为64位,我们需要将vc2010的平台设置为64位的,不然 编译无法通过。

        Project-->Properties选项页中有Pllatform这个选项,默认为一开始创建的32位,点击Configuration Manager修改为64位

        Project-->Properties-->C/C++  选择General 里的Additional Include Directories   添加mysql connector c++ 的include 文件夹以及boost的文件夹

        

        Project-->Properties-->Linker  选择General 里的Additional Library Directories   添加mysql connector c++ 的lib 文件夹以及boost的libs文件夹

        

        Project-->Properties-->Linker  选择Input 里的Additional Dependencies  添加mysqlcppconn.lib

        

        至此我们已经完成了vc2010的配置

    0x03  验证

    接下来就是验证环境是否已成功配置,我们可以写入以下的测试代码(首先要确保mysql有测试的database)

#include <iostream> 
#include   "  mysql_driver.h  "  
#include   "  mysql_connection.h  "  
#include   "  cppconn/driver.h  "  
#include   "  cppconn/statement.h  "  
#include   "  cppconn/prepared_statement.h  "  
#include   "  cppconn/metadata.h  "  
#include   "  cppconn/exception.h  " 

 using   namespace   std;
  using   namespace   sql;

  int   main()
{
    sql::mysql::MySQL_Driver  *my_driver =  0  ;
    sql::Connection  *connect =  0  ;

      try  //  尝试连接testdb数据库 
     {
        my_driver  =  sql::mysql::get_mysql_driver_instance();
        connect  = my_driver->connect( "  tcp://localhost:3306/testdb  " ,  "  root  " ,  "  12345678  "  );
        cout  <<  "  connect success!  "  <<  endl;
    }
      catch  (exception e) //  连接失败 
     {
        cout  <<  "  connect fail!  "  <<  endl;
    }
      //  取出示例数据 
    sql::Statement* stat = connect-> createStatement();
    stat ->execute( "  set names ‘gbk‘  "  );
    ResultSet  * res;
    res  = stat->executeQuery( "  SELECT * FROM user  "  );
      while  (res-> next())
    {
        cout  <<  "  ID:  "  << res->getString( "  id  " ) <<  endl;
        cout  <<  "  NAME:  "  << res->getString( "  name  " ) <<  endl;
    }
      if  (connect !=  0 ) //  释放连接 
     {
          delete   connect;
    }
    getchar();
} 

   0x04 结尾

    mysql c api估计也是版本问题,编译明明能通过,however, there is no egg use。所以遇到实在无法解决的问题可以尝试着换另一种方法(技术太渣,ouduok)

mysql connector c++ (vc2010)

标签:

查看更多关于mysql connector c++ (vc2010)的详细内容...

  阅读:34次