QKingbase的批量操作
来源:互联网 发布:北京招聘淘宝模特兼职 编辑:程序博客网 时间:2024/06/05 07:10
#include <QCoreApplication>#include <QtSql/QSql>#include <QtSql/QSqlDatabase>#include <QtSql/QSqlQuery>#include <QtSql/QSqlError>#include <QtSql/QSqlRecord>#include <QVariantList>#include <QTime>#include <QDateTime>#include <QDebug>#include <QTextCodec>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QSqlDatabase db = QSqlDatabase::addDatabase("QKINGBASE"); int elapseTotal = 0, i = 0, j = 0; QSqlQuery query; db.setHostName("localhost"); //设置数据库主机名,如果主机名不设置,那么认为DatabaseName就是服务名,通过服务名去连接。行为同QOCI一致 db.setDatabaseName("TEST"); //设置数据库名 db.setUserName("SYSTEM"); //设置数据库登入用户名 db.setPassword("MANAGER"); //设计数据库登入密码 db.open();//打开数据库连接 db.exec("set client_encoding to 'gbk'"); db.exec("drop table PERFORMANCE_COLLECTION"); //Func-QKingbase-Create-Table query = db.exec("create table PERFORMANCE_COLLECTION(id bigint, description varchar(200), record_time timestamp)"); if (query.lastError().type() == QSqlError::NoError) printf("%-50s: OK\n", "Func-QKingbase-Create-Table"); else printf("%-50s: FAILED\n", "Func-QKingbase-Create-Table"); //Func-QKingbase-Alter-Table query = db.exec("Alter table PERFORMANCE_COLLECTION add constraint PERFORMANCE_COLLECTION_PKEY primary key (id)"); if (query.lastError().type() == QSqlError::NoError) printf("%-50s: OK\n", "Func-QKingbase-Alter-Table"); else printf("%-50s: FAILED\n", "Func-QKingbase-Alter-Table"); //Func-QKingbase-Insert query = db.exec("insert into PERFORMANCE_COLLECTION values(1,'This is description, for test Func-QKingbase-Insert', now())"); if (query.lastError().type() == QSqlError::NoError) printf("%-50s: OK\n", "Func-QKingbase-Insert"); else printf("%-50s: FAILED\n", "Func-QKingbase-Insert"); //Func-QKingbase-Update query = db.exec("update PERFORMANCE_COLLECTION set description = 'This is description, for test Func-QKingbase-Update' where id = 1"); if (query.lastError().type() == QSqlError::NoError) printf("%-50s: OK\n", "Func-QKingbase-Update"); else printf("%-50s: FAILED\n", "Func-QKingbase-Update"); //Func-QKingbase-Select query = db.exec("select count(*) from PERFORMANCE_COLLECTION where id = 1 and description like '%Update'"); if (query.lastError().type() == QSqlError::NoError && 1 == query.record().count()) printf("%-50s: OK\n", "Func-QKingbase-Select"); else printf("%-50s: FAILED\n", "Func-QKingbase-Select"); //Func-QKingbase-Delete query = db.exec("delete from PERFORMANCE_COLLECTION where id = 1"); if (query.lastError().type() == QSqlError::NoError) printf("%-50s: OK\n", "Func-QKingbase-Delete"); else printf("%-50s: FAILED\n", "Func-QKingbase-Delete"); //Per-QKingbase-Batch-Insert for (j = 0; j < 100; j++) { QTime t; QVariantList ids, descs, rts; int elapsed; for (i = 0; i < 10000; i++) { QString strDateTime; QDateTime dt = QDateTime::currentDateTime(); strDateTime.sprintf("%04d-%02d-%02d %02d:%02d:%02d", dt.date().year(), dt.date().month(), dt.date().day(), dt.time().hour(), dt.time().minute(), dt.time().second()); ids << i + j * 10000; descs << "'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'"; rts << dt;//strDateTime; } QSqlQuery query; query.prepare("insert into PERFORMANCE_COLLECTION values(?, ?, ?)"); query.addBindValue(ids); query.addBindValue(descs); query.addBindValue(rts); t.start(); query.execBatch(); elapsed = t.elapsed(); elapseTotal += elapsed; qDebug() << "inserted 10000 rows, elapsed: " << elapsed << " ms"; } qDebug() <<"AVG: " << elapseTotal / j << " ms" << endl; //Func-QKingbase-Drop-Table query = db.exec("drop table PERFORMANCE_COLLECTION"); if (query.lastError().type() == QSqlError::NoError) printf("%-50s: OK\n", "Func-QKingbase-Drop-Table"); else printf("%-50s: FAILED\n", "Func-QKingbase-Drop-Table"); db.close(); return a.exec();}
0 0
- QKingbase的批量操作
- QKingbase的部署
- QKingbase 的部署
- 表的批量操作
- Hibernate的批量操作
- Hibernate的批量操作
- Hibernate的批量操作
- 批量UPDATE的操作
- jdbc的批量操作
- mybatis 批量的操作
- Mysql的批量操作
- jdbc的批量操作
- MyBatis的批量操作
- AngularJS的批量操作
- MySql 的批量操作
- mybatis的批量操作
- Mysql的批量操作(批量查询)
- 表的批量操作2
- MyEclipse 快捷键1(CTRL)
- Win8系统下VS2012添加MSComm控件
- Android 界面滑动卡顿分析与解决方案(入门)
- linux rm -f rm -rf 命令:删除文件和文件夹
- 日常任务优先级管理
- QKingbase的批量操作
- 抽象布局 include merge ViewStub 自定义标题
- mysql当前时间,日期转换,日期格式化
- 【Shiro】Apache Shiro架构之集成web
- php.ini翻译解析
- tp3.2实现简单的静态缓存
- 读取文件成字符串
- java基础七:枚举
- 线段树--小白逛公园nkoj1316