MySQL Connector/C++ 操作MySQL数据库
Connector/c++库的编译:
1、把MySql数据库安装完成后,把bin目录加入环境变量。
2、下载boost库,官网就有下载: http://www.boost.org/
3、安装cmake工具,加入环境变量。
命令行: cmake -G , 列出cmake支持生成工程文件的各个版本。
4、下载 Connector/c++ 源文件 :http://dev.mysql.com/downloads/connector/cpp/
Select Platform: 下拉选项选择 Source Code 。这里貌似要FQ才行。
也可以到这里下载:http://download.csdn.net/detail/biantaiwangzi/9092595
一、生成工程文件
解压Connector/c++ ,命令行 cd 到解压目录 。我编译的是2010版,命令如下:
cmake -G "Visual Studio 10 2010" -DBOOST_ROOT:STRING="E:\GitHub"
-BOOST_ROOT:STRING 指定 boost库所在目录执行完后,就得到sln工程文件。我这里得到的是:MYSQLCPPCONN.sln 二、编译打开工程文件,编译 MYSQLCPPCONN 方案。 在 mysql-connector-c++-1.1.6\driver\Debug 目录下就可以得到 dll 和 lib文件。2.1、使用 mysqlcppconn.dll 你需要 libmysql.dll 库文件。这个文件你可以在 mysql的安装目录 C:\Program Files\MySQL\MySQL Server 5.6\lib 下找到。2.2、工程中的其他方案,都是 Connector/C++ 的使用例子。作为参考非常有用,建议大家看一下。三、库的使用库使用需要几个文件:1、include 文件夹 c/c++ /常规/附加包含目录Connector/c++ 的安装版里面的Include 文件夹。或者把 /driver以及/driver/nativeapi 里面的头文件拷贝到一个文件夹里面(注意nativeapi要改名为 cppconn)。2、Connector/c++ 库文件 和 MySql库文件:2.1、mysqlcppconn.dll /debug,exe生成目录2.2、mysqlcppconn.lib 链接器/输入/附加依赖项2.3、libmysql.dll /debug 3、boost库所在目录 c/c++/常规/附加包含目录
四、使用例子 先建数据库:
create database test;
建表:
use test;
create table test(id int ,name varchar(32));
插入数据:
insert into test.test value(1001,"sanyue");
insert into test.test value(1002,"sixbeauty");
insert into test.test value(1003,"chouwa");
创建存储过程:
use test;
delimiter $
create procedure testproc1 (nId int) --注意这里和select那句的 ";"
begin
select id,name from test where id = nId;
end
$
delimiter ;
例子:
#include "mysql_connection.h"
#include "mysql_driver.h"
#include "cppconn/prepared_statement.h"
#include "stdlib.h"using namespace std;typedef boost::scoped_ptr<sql::mysql::MySQL_Driver> MySQL_Driver;
typedef boost::scoped_ptr<sql::Connection> Connection;
typedef boost::scoped_ptr<sql::PreparedStatement> PreparedStatement;
typedef boost::scoped_ptr<sql::Statement> Statement;
typedef boost::scoped_ptr<sql::ResultSet> ResultSet;#define CRTDBG_MAP_ALLOC
int main()
{sql::mysql::MySQL_Driver *driver;Connection con(NULL);PreparedStatement prepareState(NULL);ResultSet result(NULL);//初始化驱动try{driver=(sql::mysql::get_mysql_driver_instance());//建立连接con.reset(driver->connect("tcp://127.0.0.1:3306","root","123456"));if(con->isValid() == false){cout<<"连接失败"<<endl;return -1;}// 查询存储过程prepareState.reset(con->prepareStatement("call test.testproc1(?)"));prepareState->setInt(1,1001);prepareState->executeUpdate();result.reset(prepareState->getResultSet());// 输出结果 while(result->next()){int id = result->getInt("id");string name = result->getString("name");cout<<"testuser: "<< id <<" , "<<name<<endl;}result->close();prepareState->close();con->close();/*result.reset(NULL);prepareState.reset(NULL);con.reset(NULL);*/_CrtDumpMemoryLeaks(); //_CrtDumpMemoryLeaks(); }catch (sql::SQLException &e){cout<<e.what()<<",state:"<<e.getSQLState()<<endl;cout<<"errorCode: " << e.getErrorCode()<<endl;}return 0;
}
MySQL Connector/C++ 操作MySQL数据库相关推荐
- python封装类连接mysql数据_python操作mysql数据库基本类封装
# -*- coding: UTF-8 -*- import MySQLdb as mdb class MysqldbHelper(object): """操作mysql ...
- mysql 四大基础操作_mysql数据库的基本操作
mysql数据库的基本操作 首先我们要把mysql装好 mkdir chen/ mount.cifs //192.168.100.23/LNMP chen/ [root@localhost ~]# y ...
- Windows环境下Code::Blocks中成功配置MySQL Connector/C连接MySQL数据库
下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项. 操作系统:Windows 7 x64 编程环境:Code::Blocks 10.05(32bit) 配置方式说明:用C ...
- mysql connector c编程_MySQL数据库之MySQL Connector 编程
本文主要向大家介绍了MySQL数据库之MySQL Connector 编程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. MySQL Connector 是MySQL数据库客户 ...
- shell mysql e_shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作...
mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...
- shell mysql e_shell脚本操作mysql数据库
使用 mysql -e 参数可以执行各种 sql 的各种操作语句.不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. 格式:mysql -hhostname -Pp ...
- php操作mysql数据_PHP - 操作MySQL数据库
第16章 PHP操作MySQL 学习要点: 1.PHP连接到MySQL 2.增删改查 3.其他常用函数 如果你已经具有了使用PHP.SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起.P ...
- linux shell操作mysql,Linux shell操作mysql数据库的方法
摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...
- java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转)
java语言操作Oracle数据库中的CLOB数据类型 (转)[@more@] 有关字段类型的相关信息可以查阅oracle技术网.下面摘抄一些有关blob.clob等类型的说明.又便于大家的了解. 字 ...
最新文章
- java调用npoi_NPOI导出数据到Excel
- python坐标系转换函数_Numpy-坐标系之间的转换
- 行走在成为程序猿的道路上
- Xcodebuild自动打包
- 我国对计算机信息系统安全主要是采取,附录信息网络安全监察法规概述二.doc...
- [渝粤教育] 西南科技大学 婚姻家庭继承法 在线考试复习资料
- Ubuntu 18.04 ibus安装配置中文拼音输入法
- office2016激活后仍然出现输入激活码
- Gmail配置邮箱客户端
- vivos9e防抖功能设置教程
- 一个电脑白痴和一个黑客的超爆笑的对话
- 电脑不兼容linux,解决方法:Linux存在图形卡不兼容问题
- 爬取网易云某歌曲所有评论,并输出词云图
- 微信小程序—点击实现页面跳转
- 极客爱情 2.1 | 从你的编程世界路过
- Android Kotlin Paging3 Flow完整教程
- 令人无限遐想的各种PCIe加速板卡
- 基于Qt的收银点餐系统之小票打印(二)
- 【H3C实验】H3CSE-园区测试题一(题目)
- 如何优雅的创建并访问python二维列表(甚至多维)
热门文章
- Folding a Ribbon(思维)
- Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥)
- vue + ckplayer 直播播放m3u8文件,退出页面也会一直请求文件,还会有直播声音
- 小学生正确使用计算机,如何培养小学生的计算机操作技能
- 二次型的定义、线性替换、惯性定理
- linux下PAC正向代理某个网址上网
- 爆炸,解体,入侵,你想得到的你想不到的大BUG们
- 零基础学习C++系列课程(三) 持续更新中
- git服务器 文件夹 权限问题,windows 文件权限导致的 git 问题
- Shopee虾皮网|打造Shopee爆款前,必须分析七大数据!