MySQL 5.5與C++串連

來源:互聯網
上載者:User

本文用的是MySQL 5.5,它內建了MySQL Connector C++ 1.1.0。

這個connector不好使,我用的win8 pro x64系統,和visual studio 2012,至少在這個環境下不好使,報0xc015002錯誤。

請下載最新版的,本文用的是MySQL Connector C++ 1.1.1(x86)。編譯環境和Connector必須是一樣的架構,同是x86,或者同是x64,本文同是x86。

不得不說MySQL Connector不給力,缺庫缺檔案要自己補上。

缺boost庫 http://www.boost.org/

缺檔案sqlstring.h  http://download.csdn.net/download/wangxvfeng101/4056020

然後在VS中把include目錄中添加boost目錄,和Connector C++中的include目錄

附加庫目錄加上Connector C++中的lib/opt目錄

在工程屬性連結器的輸入中添加mysqlcppconn.lib和mysqlcppconn-static.lib

把sqlstring.h,以及connector lib/opt目錄下的mysqlcppconn.dll,MSVCP90.dll,MSVCR90.dll複製到工程目錄下(sqlstring和標頭檔放在一起,dll和產生的debug版的exe放在一起,dll也可以放在system32下)

Connector中的config.h和vc中的標頭檔stdint.h的int8_t有重定義error C2371,所以去config.h中注釋掉int8_t的內容

最後用如下代碼就可以跑起

代碼是哪抄來的忘記了,MySQL connector的文檔中也有這些代碼,介紹了幾個例子和API的使用

http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-getting-started-examples.html

#include "mysql_connection.h"#include "mysql_driver.h"#include <cppconn/driver.h>  #include <cppconn/exception.h>  #include <cppconn/resultset.h>  #include <cppconn/statement.h>  #include <cppconn/prepared_statement.h>  using namespace sql;using namespace std;#pragma comment(lib,"mysqlcppconn.lib")  #pragma comment(lib,"mysqlcppconn-static.lib")void RunConnectMySQL()  {      sql::mysql::MySQL_Driver *driver = NULL;      sql::Connection *con = NULL;     sql::Statement *state = NULL;      sql::ResultSet *result = NULL;      try      {          driver = sql::mysql::get_mysql_driver_instance();          con = driver->connect("tcp://127.0.0.1:3306","root","123456");//串連資料庫          state = con->createStatement();          state->execute("use test");        result = state->executeQuery("select * from a");    }      catch(sql::SQLException & ex)//如果上面有錯就捕獲這個異常      {          cout<<ex.what()<<endl;          return;      }      while(result->next())      {          cout<<"name: "<<result->getInt("id")<<endl;//取出欄位為name的所有值      }      state->close();  }  void main()  {      RunConnectMySQL();      getchar();      ;  }  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.