基于sqlite的Qt 数据库封装 - 开源中国社区
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26 {
27
_tableName = table + ".db";
28 }
29
30 /*
31
打开数据库.
32 */
33 bool mydata::opendatabase()
34 {
35
_db = QSqlDatabase::addDatabase("QSQLITE");
36
_db.setDatabaseName(_tableName);
sql = sql + QString("values (");
for (i = 0; i < values.size(); i++) {
sql = sql + QString("'") + values.value(i) + QString("'"); if (i != values.size()-1) {
26
bool opendatabase();
27
28
bool insert(QString &table, QStringList &names,QStringList &values);
29
30
bool Updata(QString &table, QStringList &names,QStringList &values, QString
17 #include <QtSql/QSqlDatabase>
18
19 class mydata : public QObject
20 {
21
Q_OBJECT
22 public:
23
explicit mydata(QObject *parent = 0);
24
~mydata();
25
void SetTableName(QString table);
47
{
48
return false;
49
}
50
51
QSqlQuery query(QSqlDatabase::database());
52
53
QString sql = QString("insert into ") + table + QString("(");
54
www.oschina.net/code/snippet_237375_26033
13
14 mydata::mydata(QObject *parent) :
15
QObject(parent)
16 {
17
18 }
19
20 mydata::~mydata()
21 {
22
_db.close();
23 }
24
25 void mydata::SetTableName(QString table)
5 ** Contact: 1213125967@qq.com
6 ** Please keep the author contact information.
7 ** 2013-10-31
8 **
9 ****************************************************************************/
values << query.value(0).toString(); } }
举报
开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»
京东 送好礼 全场底价
手机 电脑 服饰 家电等,心动特价 比来比去还是京东便宜!
相关的代码(122)
58回/13506阅[C/C++] Qt 读写Excel,并显示到tablewidget 3年前 By yaoboyuan 10回/13161阅[Java] Android 下的 SQLite 操作封装 —— DatabaseUtil 4年前 By 红薯
10 #ifndef MYDATA_H
11 #define MYDATA_H
12 #include <QObject>
13 #include <QString>
14 #include <QtSql/QSqlTableModel>
15 #include <QtSql/QSqlQuery>
16 #include <QStringList>
代码片段(2)
顶0 踩
[全屏查看所有代码]
1. [代码]mydata.h
1 /************************************************************************?****
2 **
3 ** Copyright (C) 2013 C,g
4 ** All rights reserved.
www.oschina.net/code/snippet_237375_26033
4/7
15-6-1
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
38
QString _tableName;
www.oschina.net/code/snippet_237375_26033
2/7
15-6-1
39 40 41 42
}; #endif // MYDATA_H
基于sqlite的Qt 数据库封装 - 开源中国社区
2. [代码]mydata.cpp
1 /***********************************************************************?*****
全部城市圈
xuyanghpu,您好 我的空间
站内留言 我的讨论记录 我分享的代码 我的博客 我关注的人 我的收藏夹 个人资料修改 更改我的头像
| 添加软件 | 投递新闻 | 退出 开源中国
基于sqlite的Qt 数据库封装 - 开源中国社区
代码分享
当前位置:
www.oschina.net/code/snippet_237375_26033
3/7
15-6-1
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
31
32
bool del(QString &table, QString &expression);
33
34
void GetValues(QString &table, QStringList &values);
35 private:
36
QSqlTableModel *model;
37
QSqlDatabase _db;
2 **
3 ** Copyright (C) 2013 C,g
4 ** All rights reserved.
5 ** Contact: 1213125967@qq.com
6 ** Please keep the author contact information.
7 ** 2013-10-31
sql = sql + QString(","); } }
sql = sql + QString(")");
if (query.exec(sql)) {
return true; } else {
return false; } }
/* 修改函数. 构造SQL修改语句.
*/ bool mydata::Updata(QString &table, QStringList &names, QStringList &values, Q {
int i;
基于sqlite的Qt 数据库封装 - 开源中国社区
for (i=0; i < names.size(); i++) {
sql = sql + names.value(i); if (i != names.size() - 1) {
sql+=QString(","); } else {
sql = sql + QString(")"); } }
sql = sql + names.value(i); sql = sql + QString(" = '"); sql = sql + values.value(i); sql = sql + QString("'"); if (i != names.size()-1) {
sql = sql + QString(" ,"); }
15-6-1
首页 开源项目
Java 开源软件 C# 开源软件 PHP 开源软件 C/C++ 开源软件 Ruby 开源软件 Python 开源软件 Go开源软件 JS开源软件 问答 技术问答 » 技术分享 » IT大杂烩 » 职业生涯 » 站务/建议 » 支付宝专区 » MoPaaS专区 » 开源硬件专区 » 代码 博客 翻译 资讯 移动开发 Android开发专区 iOS开发专区 iOS代码库 Windows Phone 招聘 城市圈 你还没加入城市圈
37
return _db.open();
38 }
39
40 /*
41
插入函数.
42
构造SQL插入语句.
43 */
44 bool mydata::insert(QString &table, QStringList &names, QStringList &values)
45 {
46
if (names.size() != values.size())
if (names.size() != values.size()) {
return false; }
//UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 QSqlQuery query(QSqlDatabase::database()); QString sql = QString("update ")+table+QString(" set "); for (int i = 0; i < names.size(); i++) {
8 **
9 ****************************************************************************/
10 #include <QtSql/QSqlQuery>
11 #include <QObject>
12 #include "mydata.h"
基于sqlite的Qt 数据库封装 - 开源中国社区
}
sql = sql + QString(" where ") + expression; if (query.exec(sql)) {
return true; } else {
return false; } }
/* 删除函数. 构造SQL删除语句.
if (query.exec(sql)) {
return true; } else {
return false; } }
void mydata::GetValues(QString &table, QStringList &values) {
QSqlQuery query(QSqlDatabase::database()); QString sql = QString("select * from ") + table; query.exec(sql); while (query.next()) {
1/7
15-6-1
基于sqlite的Qt 数据库封装 - 开源中国社区
代码分享 » C/C++ » 数据库编程
wk.baidu.com
资讯、软件、分享、代码、搜博索客
基于sqlite的Qt 数据库封装
萨斯辈的呼唤 发布于 2013年10月31日 11时, 5评/1142阅
分享到:
收藏 +4
为了方便大家对Qt数据库的操作,课余时间自己写的一个类。分享给大家 标签: SQLite Qt
*/ bool mydata::del(QString &table, QString &expression) {
//DELETE FROM 表名称 WHERE 列名称 = 值 QSqlQuery query(QSqlDatabase::database()); QString sql = QString("delete from ") + table + QString(" where ") + expre