poco库开发mysql_Poco数据库操作
1.Poco进行数据库操作的步骤一般是:
a. 创建会话(session)
b. 从DB中读写数据(into, use)
c. 使用statements
d. 使用容器(Collection) (数据,集合...)
e. 使用limit限定
f. 如何使用复杂的数据类型(如何将一个C++对象映射到数据库的表
下面是一个简单的操作数据库的示例:
#include "Poco/String.h"
#include "Poco/Format.h"
#include "Poco/Exception.h"
#include "Poco/Data/Common.h"
#include "Poco/Data/BLOB.h"
#include "Poco/Data/StatementImpl.h"
#include "Poco/Data/MySQL/Connector.h"
#include "Poco/Data/MySQL/MySQLException.h"
#include "Poco/Data/SQLite/Connector.h"
#include
using namespace Poco::Data;
using Poco::Data::MySQL::ConnectionException;
using Poco::Data::MySQL::StatementException;
using Poco::format;
using Poco::NotFoundException;
Poco::SharedPtr<:data::session> _pSession = 0;
//Poco::SharedPtr _pExecutor = 0;
std::string _dbConnString = "user=smart;password=smart;db=smart;compress=true;auto-reconnect=true";
int _tmain(int argc, _TCHAR* argv[])
{
MySQL::Connector::registerConnector();
try
{
_pSession = new Session(SessionFactory::instance().create(MySQL::Connector::KEY, _dbConnString));
}catch (ConnectionException& ex)
{
std::cout << "!!! WARNING: Connection failed. MySQL tests will fail !!!" << std::endl;
std::cout << ex.displayText() << std::endl;
}
if (_pSession && _pSession->isConnected())
std::cout << "*** Connected to " << ‘(‘ << _dbConnString << ‘)‘ << std::endl;
int i;
Poco::Data::Session ses(MySQL::Connector::KEY, _dbConnString);
int count = 0;
ses << "SELECT COUNT(*) FROM SMART_U_STREET",into(count),now;
std::cout<
MySQL::Connector::unregisterConnector();
//
//SQLite::Connector::registerConnector();
//Session ses2(SQLite::Connector::KEY,"D:\\_fengbishikaifa\\sqllite\\test_sqlite.db");
//std::string name;
//ses2 << "select id,name from smart_u_street",into(i),into(name),now;
//std::cout<
//SQLite::Connector::unregisterConnector();
std::cin>>i;
return 0;
}
2.Poco数据库缓冲池的使用
Poco::Data::SessionPool用于管理一组session。当需要session时,Session池首先查找已初始化的会话,如果找到了,将返回一个session对象给调用者,并设置此session对象为使用当中。
这里是使用sessionPool的一个简单的小示例。
原文:http://blog.csdn.net/fengshuiyue/article/details/22182821
poco库开发mysql_Poco数据库操作相关推荐
- python操作微信小程序云端数据库_微信小程序云开发之数据库操作
本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下 新建集合 1.打开云开发控制台,数据库 2.添加集合users 添加代码 onAdd: function () { ...
- C++ POCO库(访问数据库,版本问题,本人配置失败)
官网下载源码:https://pocoproject.org/ 一.POCO库简介 学习一个框架前,要先明白它的是什么,为什么,怎么用.下面这些文字,是从中文poco官网上转过来的,正如poco c+ ...
- 新酷卡 mysql接口_新酷卡M池二次开发模块数据库操作版
有大神发了一个soket方式的,尝试继承到模块后发现soket不太适合放到易模块类内, 客户组件不支持放在类内,必须放在界面上,传入赋值类内客户变量,收到数据事件也没办法放在类内,放弃 远程服务支持库 ...
- 伪装成mysql的备_如何伪装成一个服务端开发(六) -- 数据库操作
目录 如何伪装成一个服务端开发(六) 前言 本篇开始学习Spring 的数据库连接. 术语 数据库连接涉及到一些术语,如果在学习之前没有搞清楚,很容易在业务理解上出现偏差. JDBC : Java D ...
- Poco 库开发-教你如何读Poco的官方文档
引言 在使用任何一种框架开发的时候,都不免要阅读官方的文档. 下面就讲述如何来读Poco库的官方文档 Poco库 在我们下载好Poco 后,会有两个文件夹,一个是放文档的doc,另外一个就是代码了,这 ...
- 微信小程序云开发:数据库操作
文章目录 微信云开发数据库 集合,记录和字段 collection,record/doc & field 数据库操作 创建记录 查询记录 删除记录 更新记录 数据库官方文档 微信云开发数据库 ...
- 二次开发mysql数据反推_Discuz二次开发之数据库操作
一.discuz数据操作之查: 1.fetch_all DB::fetch_all(sql, $arg = array());//取出符合条件的所有数据 sql为查询语句,$arg为绑定参数 例:$r ...
- discuz mysql类_Discuz X2二次开发之数据库操作 DB类
Discuz X2的数据库操作类主要包括以下几个: DB::result_first 返回SQL查询的唯一字段的唯一值,查询结果是字符 DB::fetch_first 返回SQL查询的多个字段的值,查 ...
- NC开发前后台数据库操作的用法
后台数据库操作方法(private端): 以下为后台查询方法 //只能在private端使用 BaseDAO bd = new BaseDAO(); //查询语句只能返回一行一列结果 String s ...
- Poco库使用:文件目录操作
文章目录 获取各种标准目录 获取和应用相关的信息 目录操作 文件操作 在工程项目开发中,文件目录操作应该是最常见的操作之一了吧.这里就介绍一下如何通过Poco库实现各种文件目录操作. 获取各种标准目录 ...
最新文章
- 学习Python编程,推荐最好的五本参考书,必读~~~
- 【JUC并发编程12】Fork与Join分支
- Docker远程TLS管理
- 基于Asp.Net Core打造轻量级内部服务治理RPC(一)
- jpa 默认生成sql语句_springboot-jpa自动创建数据库表
- unity中创建游戏场景_在Unity中创建Beat Em Up游戏
- linux 高可用----keepalived+lvs
- i8一点通无盘解决方案
- 如何下载网页上的音频文件
- 网银打印回单显示服务器不能创建对象,打开应用弹出提示“Activex部件不能创建对象”的解决方法...
- 《数据安全法》施行在即,政企单位如何构建数据安全治理体系?
- python如何退出while循环_python如何跳出while循环
- 使用jib-maven-plugin分层构建Docker镜像——避免直接使用FatJar
- Servlet本身的init,service,destory生命周期方法
- 简单的md5加密数据及密码复杂度校验
- 微信支付~微信手机网站支付(mweb)
- 主成分分析时,如果矩阵秩亏,会发生什么后果?
- Android三大按钮,模拟Android导航栏三大金刚按键点击
- LeetCode876 --- 剑指Offer 22
- Android进阶——Small源码分析之启动流程详解