下載第二個包,windows32位非安裝版(個人覺得這個包乾淨)。目前的版本是Connector/C++ 1.0.5。
Windows (x86, 32-bit), ZIP Archive (mysql-connector-c++-noinstall-1.0.5-win32.zip)
將整個包解壓到專案檔夾下的的源檔案目錄。檔案夾名字太長,將“mysql-connector-c++-noinstall-1.0.5-win32”改為“mysql”。
下面要配置vs2008的環境。(vs2010也這麼操作一樣的)
1. 項目屬性頁面->C/C++->General->Additional Include Directories。將mysql/include目錄和mysql/include/cppconn目錄添加進去。
2. 項目屬性頁面->Linker->General->Additional Library Directories。將mysql/lib目錄添加進去。
3. 項目屬性頁面->Linker->Input->Additional Dependencies。添加這兩項mysqlcppconn.lib,mysqlcppconn-static.lib(mysql/lib目錄下的兩個.lib檔案)
4. 將mysql/lib下的mysqlcppconn.dll檔案複製到windows/system32檔案夾下。
環境配置完畢。
在串連資料庫之前,先建立一張表。 (其實這些可以在代碼中完成,我這樣是為了讓測試代碼儘可能簡練易查錯,你也可以直接用phpmyadmin。)
開啟控制台,輸入mysql -u root -p,輸入密碼。
查看當前已有的資料庫。(SQL語句末尾加上’;'表示立即執行當前語句。)
| 代碼如下 |
複製代碼 |
mysql> show databases; 建立資料庫 mysql> create database test; 使用資料庫(這句不能加分號) mysql> use test 查看已有的表 mysql> show tables; 建立表 mysql> create table testuser ( id INT, name CHAR(20)); 插入資料 mysql> insert into testuser(id, name) values(1001, ‘google’); mysql> insert into testuser(id, name) values(1002, ‘kingsoft’); mysql> insert into testuser(id, name) values(1003, ‘firefox’); |
下邊是c++的測試代碼:
| 代碼如下 |
複製代碼 |
#include <mysql_connection.h> #include <mysql_driver.h> #include <statement.h> using namespace sql; using namespace std; void RunConnectMySQL() { mysql::MySQL_Driver *driver; Connection *con; Statement *state; ResultSet *result; // 初始化驅動 driver = sql::mysql::get_mysql_driver_instance(); // 建立連結 con = driver->connect("http://127.0.0.1:3306", "root", "123"); state = con->createStatement(); state->execute("use test"); // 查詢 result = state->executeQuery("select * from testuser where id < 1002"); // 輸出查詢 while(result->next()) { int id = result->getInt("ID"); string name = result->getString("name"); cout << id << " : " << name << endl; } delete state; delete con; } int main(int argc, char* argv[]) { RunConnectMySQL(); getchar(); return 0; } |