VS2008项目使用C++连接MySQL

0、安装环境
 1)安装MySQL5.5(http://dev.mysql.com/downloads/mysql/),不是必须,只是方便测试,同时可获取libmysql.lib和libmysql.dll
 2)安装MySQL Connector C++ 1.1.1(http://dev.mysql.com/downloads/connector/cpp/),安装时注意选择“完全安装”,否则只安装release版链接库,没有debug版
 这里简单说明下安装后的库文件:
 mysqlcppconn.lib 为动态链接库,发布时需要带上mysqlcppconn.dll
 mysqlcppconn-static.lib 为静态链接库,发布时不需要mysqlcppconn.dll
 注意,上面两个链接库都是动态链接到libmysql.lib的,所以不管用的上述哪种链接,发布时都需要libmysql.dll
 另外,如果是C开发而不是C++,可以直接使用mysql安装目录下的include和lib\libmysql.lib进行开发,不需要任Connector 
 3)安装boost库(http://sourceforge.net/projects/boost/files/boost/1.51.0/),其实没有那么麻烦,推荐学习下。
 
 1、新建项目,类型根据自己需要
 
 2、设置头文件目录
 项目属性->C/C++->附件包含目录:
 C:\Program Files\MySQL\MySQL Connector C++ 1.1.1\include
 C:\boost_1_42
 
 3、设置链接库
 项目属性->链接器->常规->附加库目录: C:\Program Files\MySQL\MySQL Connector C++ 1.1.1\lib\debug

 项目属性->链接器->输入->附加依赖项: mysqlcppconn.lib

 如果静态链接,附件依赖项:mysqlcppconn-static.lib

 
 4、上代码
 #include "stdafx.h"
  #include<iostream>
  #include <mysql_connection.h>
  #include <mysql_driver.h>
  #include <cppconn\statement.h>
  #include <cppconn\resultset.h>
  
  using namespace std;
  using namespace sql;
  
  int main()
  {
   Driver *pDriver;
   Connection *pConnection;
   Statement *pStatment;
   ResultSet *pResultSet;
  
   pDriver = mysql::get_mysql_driver_instance();
   pConnection = pDriver->connect("tcp://127.0.0.1:3306", "root", "123456");
   pStatment = pConnection->createStatement();
   pResultSet = pStatment->executeQuery("Select * from test.t1");
   while (pResultSet->next())
   {
   int n = pResultSet->getInt("aa");
   cout << "t1.aa = " << n <<endl;
   }
  
   delete pResultSet;
   delete pStatment;
   delete pConnection;
  
   system("pause");  
   return 0;
  }
 

 5、发布

拷贝动态库到可执行程序目录或者系统system32目录

 mysqlcppconn.dll

 libmysql.dll


6、其他说明

1)官方的教程 MySQL Connector/C++ Building Windows Applications with Microsoft Visual Studio

2)MySQL Connector C++ 1.1.1 安装后的lib库只能用于vs2008,不能用于vs2010以及更高版本,要想用只能自己下载connector c++源代码(http://dev.mysql.com/downloads/connector/cpp/),用cmake和相关vs编译器进行编译。


你可能感兴趣的:(VS2008项目使用C++连接MySQL)