vs2012向mysql中写数据_mysql Connector C++ 操作数据库 vs2012

最近想写一个应用程序,要连接和操作mysql数据库,以前只是用c++ builder 操作过mysql数据库,那是用控件操作的,感觉比较弱智,但是c++ builder vcl控件感觉在多线程里比较坑,所以用vs2012做了。

c++连接mysql有两种方式,1是原始的方法,2是用 Connector c++ 。Connector c++  只是一种封装,使之更加方便.本方只记下关于 Connector c++ 操作数据库。

想写一个demo 测试一下。

mysql connector c++ 调用 方式 有两种,一种是动态链接库调用 ,一种是静态库调用。静态库试了一整天不行,都是以 get_mysql_driver_instance() 没有链接到而靠终,后来才知道 新版本的connector c++ 如果以静态方式调用的话是不再用这个函数了 可是官方文档中没有说不用get_mysql_driver_instance这个函数是怎么操作数据库的。静态失败了,搞动态吧。

动态库调用方式是若干 .h 文件和一个 mysqlcppconn.lib 链接之后在运行期间会调用mysqlcppconn.dll貌似运行期间还要调用  libmysql.dll 。

下面说步骤

1.首先把把connector c++ include文件夹 加到工程包含目录里

2.其次链接lib 其中分为debug版和 release 版

#ifdef _DEBUG#pragma comment(lib,"..\\dynamic_lib\\Debug_\\mysqlcppconn.lib")

#else

#pragma comment(lib,"..\\dynamic_lib\\Release_\\mysqlcppconn.lib")

#endif //DEBUG

3.直接调用函数了 ,以下代码测试正确 vs2012 win7 64位

//TestMySql.cpp : 定义控制台应用程序的入口点。//#include"stdafx.h"#include"mysql_connection.h"#include"mysql_driver.h"#include"mysql_error.h"#include#include#include#include#include#include

using namespacestd;

#ifdef _DEBUG#pragma comment(lib,"..\\dynamic_lib\\Debug_\\mysqlcppconn.lib")

#else

#pragma comment(lib,"..\\dynamic_lib\\Release_\\mysqlcppconn.lib")

#endif //DEBUG

int _tmain(int argc, _TCHAR*argv[])

{

sql::mysql::MySQL_Driver*driver =NULL;

sql::Connection*con =NULL;

driver=sql::mysql::get_mysql_driver_instance();if(driver ==NULL)

{

cout<

}

con= driver->connect("tcp://localhost:3306", "root", "3342125");if(con ==NULL)

{

cout<

}

cout<

sql::Statement* stmt =NULL;

stmt= con->createStatement();if(stmt ==NULL)

{

cout<

}

stmt->execute("SET CHARSET GB2312");

stmt->execute("USE zhanbao");

sql::ResultSet* resultSet = stmt->executeQuery("这里写查询语句");int i = 0;while (resultSet->next()) {

cout<< ", label = '" << resultSet->getString("ACCOUNT") << "'" <

i++;

}

cout<

con->close();

delete stmt;

delete con;

END:

system("pause");return 0;

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值