vc2010 mysql5.7_VC++2010配置使用MySQL5.6

本文介绍了如何在Visual Studio 2010(VC++2010)环境下配置并使用MySQL Connector C++ 1.1.3与MySQL 5.6.19进行数据库连接。步骤包括设置头文件和库文件路径,根据Debug或Release模式选择相应库,确保项目为64位,并提供了一个简单的数据库查询示例。
摘要由CSDN通过智能技术生成

0、前提

安装后的文件概览

d1798a8341542ec710d0a2524762b630.png

编译器:  VC++2010

MySQL版本:MySQL5.6.19 for win64

4334af0ddcb3ee4df873ec5ea62d82b3.png

Connector版本:connector  c++  1.1.3

9bcf7377b9afa12e0f23b3b0d20ccf06.png

在VS2010下配置使用MySQL

1、配置头文件

项目属性--VC++目录--包含目录

ef1a85706f964794bd9d6c0473743a07.png

2、配置库文件

在connector c++ 1.1.3lib目录下有两个目录:debug目录 和 opt目录

0fc540938d3b437232cd569ab391b8be.png

libdebug目录

1967dd103ec81fda15e9c4976db580f3.png

libopt目录

327b8062cee8904077c719227d515a69.png

由于有debug目录,所以猜测opt目录可能是类似release目录的优化(optimize)后的文件,因此在VC++中使用时在Debug下使用debug目录下的库文件,在Release模式下使用opt目录下的库目录。

eg.

#ifdef  _DEBUG

#pragma   comment(lib, "debug下的mysqlcppconn.lib")

#pragma   comment(lib, "debug下的mysqlcppconn-static.lib")

#else

#pragma   comment(lib, "opt下的mysqlcppconn.lib")

#pragma   comment(lib, "opt下的mysqlcppconn-static.lib")

#endif

另外,在Debug或Release模式下将debug或opt目录下的mysqlcppcon.dll拷贝到项目目录下或system32目录下。  将 MySQLMySQL Server5.6lib目录下的libmysql.dll拷贝到项目目录下或system32目录下。

bd2ac84dec21a15605d9b8515a9e802d.png

3、配置项目

由于该版本的MySQL是64位的,因此使用该MySQL的connector的项目必须被配置为X64类型的。 否则会有链接错误! 这一点要注意!

be280c2b135ce928ed18719b26d90dda.png

4、Demo

数据库:db_1220, 表:tbl_user,  MySQL服务器:本地的localhost

d125968a280bd602d0386d60a3ffa180.png

#include "stdafx.h"#include#include#include#include#include#include#include

#pragma warning(disable:4251)#ifdef _DEBUG#pragma comment(lib, "D:\Program Files\MySQL\Connector C++ 1.1.3\lib\debug\mysqlcppconn-static.lib")

#pragma comment(lib, "D:\Program Files\MySQL\Connector C++ 1.1.3\lib\debug\mysqlcppconn.lib")

#else

#pragma comment(lib, "D:\Program Files\MySQL\Connector C++ 1.1.3\lib\opt\mysqlcppconn-static.lib")

#pragma comment(lib, "D:\Program Files\MySQL\Connector C++ 1.1.3\lib\opt\mysqlcppconn.lib")

#endif

using namespacestd;int _tmain(int argc, _TCHAR*argv[])

{

sql::Driver*driver =NULL;

sql::Connection*con =NULL;

sql::Statement*stmt =NULL;

sql::ResultSet*res =NULL;

sql::SQLString strHost("localhost");

sql::SQLString strUser("root");

sql::SQLString strPwd("XXXXXXX");

sql::SQLString strSchema("db_1220");

sql::SQLString strQuery("select * from tbl_user");try{

driver=get_driver_instance();

con= driver->connect(strHost, strUser, strPwd);

con->setSchema(strSchema);

stmt= con->createStatement();

res= stmt->executeQuery(strQuery);

sql::ResultSetMetaData* pMetaData = res->getMetaData();

cout<

cout<< "Results have" << res->rowsCount() << "rows" << endl <next())

{//get data by column name

cout << res->getInt("id")<< " "

<< res->getString("name").c_str() //sql::SQLString没有重载<getString("name")

<< " "

<< res->getString("password").c_str()<

cout << res->getInt(1)<< " "

<< res->getString(2).c_str()<< " "

<< res->getString(3).c_str()<

}

}catch (sql::SQLException&e)

{

cerr<< endl << e.what() <

}catch(...)

{

cerr<< endl << "some exception happeded" <

}if (NULL !=res)

delete res;if (NULL !=stmt)

delete stmt;if (NULL !=con)

delete con;

cout<< endl <

}

运行结果:

32c6b5afbb838032af3f4f63c823e141.png

5、补充

如果在编译过程中报错找不到类似 “”这样的错误信息,则是需要boost库支持,下载boost库配置一下即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值