资源简介
QSqlDatabase的进一步封装
实现了多线程支持以及更加简单的操作
代码片段和文件信息
// Qt lib import
#include
#include
#include
// JasonQt lib import
#include “JasonQt/JasonQt_Database.h“
int main(int argc char *argv[])
{
QCoreApplication a(argc argv);
/*
* 注:关于附加参数
* 这是可以不写的,如果要写的话,可以参考这个:
*
* 单次打开数据库最大时间:也就是最大open的时间,对于某些数据库,长时间open但不使用,不仅会造成资源浪费还会意外断开。在设置了60 * 1000后,且60秒内未进行查询,就自动断开。
* 多线程支持:简单的说就是高级点的数据库,比如 MySql 写 JasonQt_Database::QueryMultiMode ;低级的,比如 Sqlite ,写 JasonQt_Database::QuerySingleMode 就可以了。
* 最小等待时间:对于某些数据库,比如Sqlite,密集查询时可能出错,此时可以适当的提升两次查询之间的最小等待时间,比如10ms
*/
// Sqlite的连接方式 类型 连接名 Sqlite文件路径 单次打开数据库最大时间 多线程支持 最小等待时间
JasonQt_Database::Control control({ “QSQLITE“ “TestDB“ “/Users/Jason/test.db“ } { 60 * 1000 JasonQt_Database::QuerySingleMode 10});
// MySql的连接方式 类型 连接名 IP 数据库 用户名 密码
// JasonQt_Database::Control control({ “QMYSQL“ “TestDB“ “localhost“ “JasonDB“ “root“ “YourPassword“ });
// SqlServer的连接方式 类型 连接名 数据库 数据库名 用户名 密码
// JasonQt_Database::Control control({ “QODBC“ “TestDB“ “Driver={SQL SERVER};server=iZ23kn6vmgkZ\\TEST;database=test;uid=sa;pwd=YourPassword;“ });
auto insert = [&]()
{
auto query(control.query()); // 这里的query在解引用( -> 或者 * )后返回的是 QSqlQuery ,直接用就可以了,不需要单独打开数据库或者其他的初始化
query->prepare(“insert into Test1 values(?)“); // 模拟插入操作
query->addBindValue(rand() % 1280);
if(!query->exec())
{
qDebug() << “Error“ << __LINE__;
}
query->clear();
query->prepare(“insert into Test2 values(NULL ? ?)“);
query->addBindValue(rand() % 1280);
QString buf;
for(int now = 0; now < 50; now++)
{
buf.append(‘a‘ + (rand() % 26));
}
query->addBindValue(buf);
if(!query->exec())
{
qDebug() << “Error“ << __LINE__;
}
};
auto delete_ = [&]()
{
auto query(control.query());
query->prepare(“delete from Test1 where data = ?“);
query->addBindValue(rand() % 1280);
if(!query->exec())
{
qDebug() << “Error“ << __LINE__;
}
query->clear();
query->prepare(“delete from Test2 where data1 = ?“);
query->addBindValue(rand() % 1280);
if(!query->exec())
{
qDebug() << “Error“ << __LINE__;
}
};
auto update = [&]()
{
auto query(control.query());
query->prepare(“update Test1 set data = ? where data = ?“);
query->addBindValue(rand() % 1280);
query->addBindValue(rand() % 1280);
if(!query->exec())
{
qDebug() << “Error“ << __LINE__;
}
query->clear();
query->prepare(“update Test2 set data1 = ? data2 = ? where dat
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-04-05 21:25 JasonQt_Databa
文件 6148 2015-04-05 21:25 JasonQt_Databa
目录 0 2015-04-05 21:25 JasonQt_Databa
文件 7789 2015-04-05 21:18 JasonQt_Databa
文件 3709 2015-04-05 20:59 JasonQt_Databa
文件 434 2015-04-05 20:57 JasonQt_Databa
文件 5421 2015-04-05 21:24 JasonQt_Databa
文件 1006 2015-03-17 10:50 JasonQt_Databa
相关资源
- mysql数据库驱动8.0.12版本
- 安装SQLServer 2008 R2安装详细图文教程
- SQLServer2008R2简体中文版(64位)
- SQL Server 2000 绿色版
- SQL Server 绿色版,不需安装
- mha4mysql-0.56-0.el6
- mysql_5.6.24_winx64
- MYSQL作业提交作业批改系统.zip
- Maven搭建Spring+Mybatis+MySql
- sql server 2012 R2企业版安装光盘ISO
- 成语首尾字用于成语接龙.sql
- MySQL中文手册api帮助文档
- linux_mysql5.1.66x86_64.zip
- postgresql分布式安装部署
- PostgreSQL-从入门到精通
- SQL文自动整理格式工具
- 赛门铁克Backup Exec 12防护Microsoft SQL
- 6.SparkSQL下--Spark实战应用.pdf
- oracle 到mysql转换工具
- SqlServer+ServHA Cluster双机热备配置实战
- Sql高级查询练习题(有答案
- 易语言SQL操作ACCESS数据库例程源码
- 易语言SQLserver数据库操作例程源码
- 数据库原理实验指导书Mysql
- 金蝶K3 新旧物料编码转换 SQL语句
- mysql 5.6 绿色精简版 5Mb
- mysql Premium 破解
- PL SQL Developer 7.1.4 汉化包
- 深入浅出MySQL第二版本pdf
- 深入浅出MySQL.pdf
评论
共有 条评论