mysql connector c++测试
来源:互联网 发布:python android接口 编辑:程序博客网 时间:2024/05/16 04:04
可以用connector c++操作mysql。
1. 从官网下载对应的connector c++版本。
http://dev.mysql.com/downloads/connector/cpp/
我这里选择的是
64位的noinstall版本。
复制解压后的文件夹到相应的工程下。(方便移植,拷到别人电脑上的时候,不需要别人下载配置路径什么的。)
2. 包含相对路径。
使用变量ProjectDir。该路径表示项目文件所在路径。“..\”表示上一层目录。
3. 链接库配置。
代码中加入:#pragma comment(lib,"mysqlcppconn.lib") 动态链接。(ps:connector lib下还有一个mysqlcppconn-static.lib 是静态链接库,网上说不太稳定)
connector lib中的mysqlcppconn.dll拷到工程源目录下。
同时:mysql lib中的libmysql.dll也拷到了工程源目录下, 运行时要用到。
(.lib和.dll的区别与联系见 http://blog.csdn.net/u012420309/article/details/51363101)
4. 修改端口号(不修改是默认的)。
打开mysql的配置文件my-default.ini,将#port = ... 修改为port=3306。(也就是去掉注释赋值)
配置文件修改后,要重启mysql。重启简单方法见上一篇博客。
代码:
#include "mysql_connection.h"#include "mysql_driver.h"#include <cppconn/statement.h>#include <iostream>#include "string"using namespace std;#pragma comment(lib,"mysqlcppconn.lib")int main(){ sql::mysql::MySQL_Driver *driver = NULL; sql::Connection *con = NULL;//初始化驱动 driver = sql::mysql::get_mysql_driver_instance(); //建立链接 con = driver->connect("tcp://localhost:3306", "root", "zq"); sql::Statement * stmt = con->createStatement(); stmt->execute("use test"); //查询 sql::ResultSet * result = stmt->executeQuery("select * from testuser"); while (result->next()) {int id = result->getInt(1); //也可以result->getInt("id");string name = result->getString(2).c_str(); //注意这里要转换c_str() cout << id << ":" << name << endl; } con->close(); delete stmt; delete con; return 0;}
运行结果:
1001:google
1002:kingsoft
PS:这里用到的数据库test和表testuser是上一篇博客里命令行生成的。具体长相:
+------+----------+| id | name |+------+----------+| 1001 | google || 1002 | kingsoft |+------+----------+
当然,也可以通过c++生成。
stmt->execute("create database test");stmt->execute("use test");stmt->execute("create table testuser(id INT, name CHAR(20))");//插入string strsql = "insert into testuser(id,name)values(1001,'google')";for (int i = 0; i < 10; i++){ stmt->execute(strsql.c_str());}其实就是执行命令行操作。
PPS: mysql_connection.h里包含了
#include <boost/shared_ptr.hpp>
#include <boost/scoped_ptr.hpp>
可以把boost放到mysql-connector的include目录下。也可以在工程的包含目录中添加boost的路径。
- mysql connector c++测试
- MySQL Connector C
- MySQL Connector/Python 安装、测试
- MySQL Connector/Python 安装、测试
- MySQL Connector/Python 安装、测试
- MySQL Connector/C++(一)
- 如何使用mysql connector c in window
- mysql Connector C/C++ 多线程封装
- mysql Connector C/C++ 多线程封装
- mysql Connector C/C++ 多线程封装
- VS2005 编译mysql-connector-c++-1.1.3
- mysql Connector C/C++ 多线程封装
- linux mysql-connector-c++-1.1.5 编译
- MySql C Connector 文档翻译 Overview
- c++连接mysql编程(mysq-connector/c++)
- VS2013 编译 MySql Connector C 6.1.6
- mysql Connector C/C++ 多线程封装
- mysql Connector C/C++ 多线程封装
- mysql存储引擎(一)
- 线程的问题
- css盒子模型的示例
- Android中View绘制流程
- 二叉查找树中搜索区间
- mysql connector c++测试
- .NET程序集强命名删除与再签名技术 源代码剖析
- UIButton文字居左显示
- ZOJ 3878-Convert QWERTY to Dvorak【模拟】
- KMeans算法检测网络异常入侵
- 极限学习机(ELM)的使用
- The 3n + 1 problem
- Floyd、Dijkstra、Bellman-Ford、SPFA的比较
- 10680 飞机