当前位置:Gxlcms > 数据库问题 > mysql connector c++ (vc2010)

mysql connector c++ (vc2010)

时间:2021-07-01 10:21:17 帮助过:2人阅读

    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)

  1. #include <iostream><span style="color: #000000;">
  2. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">mysql_driver.h</span><span style="color: #800000;">"</span><span style="color: #000000;">
  3. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">mysql_connection.h</span><span style="color: #800000;">"</span><span style="color: #000000;">
  4. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">cppconn/driver.h</span><span style="color: #800000;">"</span><span style="color: #000000;">
  5. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">cppconn/statement.h</span><span style="color: #800000;">"</span><span style="color: #000000;">
  6. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">cppconn/prepared_statement.h</span><span style="color: #800000;">"</span><span style="color: #000000;">
  7. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">cppconn/metadata.h</span><span style="color: #800000;">"</span><span style="color: #000000;">
  8. #include </span><span style="color: #800000;">"</span><span style="color: #800000;">cppconn/exception.h</span><span style="color: #800000;">"</span>
  9. <span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span><span style="color: #000000;"> std;
  10. </span><span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span><span style="color: #000000;"> sql;
  11. </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main()
  12. {
  13. sql::mysql::MySQL_Driver </span>*my_driver = <span style="color: #800080;">0</span><span style="color: #000000;">;
  14. sql::Connection </span>*connect = <span style="color: #800080;">0</span><span style="color: #000000;">;
  15. </span><span style="color: #0000ff;">try</span><span style="color: #008000;">//</span><span style="color: #008000;">尝试连接testdb数据库</span>
  16. <span style="color: #000000;"> {
  17. my_driver </span>=<span style="color: #000000;"> sql::mysql::get_mysql_driver_instance();
  18. connect </span>= my_driver->connect(<span style="color: #800000;">"</span><span style="color: #800000;">tcp://localhost:3306/testdb</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">root</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">12345678</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  19. cout </span><< <span style="color: #800000;">"</span><span style="color: #800000;">connect success!</span><span style="color: #800000;">"</span> <<<span style="color: #000000;"> endl;
  20. }
  21. </span><span style="color: #0000ff;">catch</span> (exception e)<span style="color: #008000;">//</span><span style="color: #008000;">连接失败</span>
  22. <span style="color: #000000;"> {
  23. cout </span><< <span style="color: #800000;">"</span><span style="color: #800000;">connect fail!</span><span style="color: #800000;">"</span> <<<span style="color: #000000;"> endl;
  24. }
  25. </span><span style="color: #008000;">//</span><span style="color: #008000;">取出示例数据</span>
  26. sql::Statement* stat = connect-><span style="color: #000000;">createStatement();
  27. stat</span>->execute(<span style="color: #800000;">"</span><span style="color: #800000;">set names ‘gbk‘</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  28. ResultSet </span>*<span style="color: #000000;">res;
  29. res </span>= stat->executeQuery(<span style="color: #800000;">"</span><span style="color: #800000;">SELECT * FROM user</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  30. </span><span style="color: #0000ff;">while</span> (res-><span style="color: #000000;">next())
  31. {
  32. cout </span><< <span style="color: #800000;">"</span><span style="color: #800000;">ID:</span><span style="color: #800000;">"</span> << res->getString(<span style="color: #800000;">"</span><span style="color: #800000;">id</span><span style="color: #800000;">"</span>) <<<span style="color: #000000;"> endl;
  33. cout </span><< <span style="color: #800000;">"</span><span style="color: #800000;">NAME:</span><span style="color: #800000;">"</span> << res->getString(<span style="color: #800000;">"</span><span style="color: #800000;">name</span><span style="color: #800000;">"</span>) <<<span style="color: #000000;"> endl;
  34. }
  35. </span><span style="color: #0000ff;">if</span> (connect != <span style="color: #800080;">0</span>)<span style="color: #008000;">//</span><span style="color: #008000;">释放连接</span>
  36. <span style="color: #000000;"> {
  37. </span><span style="color: #0000ff;">delete</span><span style="color: #000000;"> connect;
  38. }
  39. getchar();
  40. }</span>

  0x04 结尾

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

mysql connector c++ (vc2010)

标签:

人气教程排行