基于sqlite的Qt 数据库封装
摘要:=values.size()-1)077{078sql=sql+QString(",");079}080}081082sql=sql+QString(")");083084if085{086returntrue;087}088else089{090returnfalse;091}092}093094/*095修改函数.096构造SQL修改语句.097*/098boolmydata::Updata099{100if(names.size()!
[代码]mydata.h
14 | #include <QtSql/QSqlTableModel> |
15 | #include <QtSql/QSqlQuery> |
17 | #include <QtSql/QSqlDatabase> |
19 | class mydata : public QObject |
23 |
explicit mydata(QObject *parent = 0); |
25 |
void SetTableName(QString table); |
28 |
bool insert(QString &table, QStringList &names,QStringList &values); |
30 |
bool Updata(QString &table, QStringList &names,QStringList &values, QString &expression); |
32 |
bool del(QString &table, QString &expression); |
34 |
void GetValues(QString &table, QStringList &values); |
mydata.cpp
001 | /**************************************************************************** |
003 | ** Copyright (C) 2013 C,g |
004 | ** All rights reserved. |
005 | ** Contact: 1213125967@qq.com |
006 | ** Please keep the author contact information. |
009 | ****************************************************************************/ |
010 | #include <QtSql/QSqlQuery> |
014 | mydata::mydata(QObject *parent) : |
025 | void mydata::SetTableName(QString table) |
027 |
_tableName = table + ".db" ; |
033 | bool mydata::opendatabase() |
035 |
_db = QSqlDatabase::addDatabase( "QSQLITE" ); |
036 |
_db.setDatabaseName(_tableName); |
044 | bool mydata::insert(QString &table, QStringList &names, QStringList &values) |
046 |
if (names.size() != values.size()) |
051 |
QSqlQuery query(QSqlDatabase::database()); |
053 |
QString sql = QString( "insert into " ) + table + QString( "(" ); |
057 |
for (i=0; i < names.size(); i++) |
059 |
sql = sql + names.value(i); |
060 |
if (i != names.size() - 1) |
067 |
sql = sql + QString( ")" ); |
071 |
sql = sql + QString( "values (" ); |
073 |
for (i = 0; i < values.size(); i++) |
075 |
sql = sql + QString( "'" ) + values.value(i) + QString( "'" ); |
076 |
if (i != values.size()-1) |
078 |
sql = sql + QString( "," ); |
082 |
sql = sql + QString( ")" ); |
098 | bool mydata::Updata(QString &table, QStringList &names, QStringList &values, QString &expression) |
100 |
if (names.size() != values.size()) |
105 |
//UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 |
106 |
QSqlQuery query(QSqlDatabase::database()); |
107 |
QString sql = QString( "update " )+table+QString( " set " ); |
108 |
for ( int i = 0; i < names.size(); i++) |
110 |
sql = sql + names.value(i); |
111 |
sql = sql + QString( " = '" ); |
112 |
sql = sql + values.value(i); |
113 |
sql = sql + QString( "'" ); |
114 |
if (i != names.size()-1) |
116 |
sql = sql + QString( " ," ); |
120 |
sql = sql + QString( " where " ) + expression; |
135 | bool mydata::del(QString &table, QString &expression) |
137 |
//DELETE FROM 表名称 WHERE 列名称 = 值 |
138 |
QSqlQuery query(QSqlDatabase::database()); |
139 |
QString sql = QString( "delete from " ) + table + QString( " where " ) + expression; |
151 | void mydata::GetValues(QString &table, QStringList &values) |
153 |
QSqlQuery query(QSqlDatabase::database()); |
154 |
QString sql = QString( "select * from " ) + table; |
158 |
values << query.value(0).toString(); |
免责声明:文章转载自《基于sqlite的Qt 数据库封装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇用jedis执行lua脚本Halcon学习笔记之支持向量机(二)下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=
/* PL/SQL : Oracle内部语言 SQLServer的是:TSQL Procedural Language/SQL 是oracle在标准的SQL语言上的扩展,PL/SQL不仅允许嵌入SQL语言,还可以 定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得 更加的强大. 优点:提...