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
#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.dlllibmysql.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编译器进行编译。