Qt的SQL操作,DELETE,SELECT
#include <QObject>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QString> class DatabaseManager : public QObject
{
public:
DatabaseManager(QObject *parent = );
~DatabaseManager(); public:
bool openDB();
bool deletePerson(int id); private:
QSqlDatabase db;
};
Delete a person from the database:
bool DatabaseManager::deletePerson(int id)
{
bool ret = false;
if (db.isOpen())
{
QSqlQuery query;
ret = query.exec(QString("delete from person where id=%1").arg(id));
}
return ret;
}
The rest of the code:
bool DatabaseManager::openDB()
{
// Find QSLite driver
db = QSqlDatabase::addDatabase("QSQLITE"); #ifdef Q_OS_LINUX
// NOTE: We have to store database file into user home folder in Linux
QString path(QDir::home().path());
path.append(QDir::separator()).append("my.db.sqlite");
path = QDir::toNativeSeparators(path);
db.setDatabaseName(path);
#else
// NOTE: File exists in the application private folder, in Symbian Qt implementation
db.setDatabaseName("my.db.sqlite");
#endif // Open databasee
return db.open();
}
以上参考http://developer.nokia.com/community/wiki/Deleting_data_from_a_database_in_Qt
SELECT核心语句
bool DatabaseManager::getPerson(int id, PersonData*& person)
{
bool ret = false; QSqlQuery query(QString("select * from person where id = %1").arg(id));
if (query.next())
{
person->id = query.value().toInt();
person->firstname = query.value().toString();
person->lastname = query.value().toString();
person->age = query.value().toInt();
ret = true;
} return ret;
}
以上参考http://developer.nokia.com/community/wiki/Searching_for_data_in_a_database_in_Qt
如果有多个参数,可以是 %1,%2,%3 之后.arg().arg().arg()括号里填对应变量。
Qt的SQL操作,DELETE,SELECT的更多相关文章
- JS中Float类型加减乘除 修复  JQ 操作 radio、checkbox 、select  LINQ to SQL:Where、Select/Distinct  LINQ to SQL Count/Sum/Min/Max/Avg Join
		JS中Float类型加减乘除 修复 MXS&Vincene ─╄OvЁ &0000027─╄OvЁ MXS&Vincene MXS&Vincene ─╄Ov ... 
- 界面编程之QT的数据库操作20180801
		/*******************************************************************************************/ 一.数据库连 ... 
- sql 操作常用操作语句 新增、修改字段等
		常用sql --sql 事务 BEGIN TRAN 事物名 )BEGIN ROLLBACK TRAN 事物名;RETURN;END COMMIT TRAN 事物名 --数据库清缓存 DBCC DROP ... 
- SQL操作大全
		下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DEL ... 
- 如何判断一条sql(update,delete)语句是否执行成功
		如何判断一条sql(update,delete)语句是否执行成功 catch (SQLException e) { } catch不到错误应该就成功了. ============== ... 
- 数据库优化和SQL操作的相关题目
		SQL操作 1.有一个数据库表peope,表有字段name,age,address三个属性(注:没有主键).现在如果表中有重复的数据,请删去重复只留下其中的一条.重复的定义就是两条记录的name,ag ... 
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
		本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ... 
- mongodb 操作语句与sql操作语句对比
		上行:SQL 操作语句 下行:Mongo 操作语句 CREATE TABLE USERS (a Number, b Number) db.createCollection("mycoll&q ... 
- Microsoft SQL - 操作语句
		操作语句(Operation Statement) 操作数据库 创建数据库 关键字:create database 用于创建各种数据库对象(数据库.表.触发器.存储过程等) 格式如:create &l ... 
随机推荐
- Message解析流程(转)
			Message的解析作为一个共同组件.对应不同格式的msg文件有不同的实现类来解析.用SAXParser. 1:Final class MessageResourceManager 在Start方 ... 
- Java JSON处理库Jackson
			Jackson是一款为Java平台提供的一套数据处理类库工具,Jackson的主要功能是提供JSON解析和生成.另外,Jackson还提供额外的类库以支持处理Avro, CBOR, CSV, Smil ... 
- poj 3400  Dropping the stones
			//next_permutation全阵列 # include <stdio.h> # include <algorithm> # include <string.h&g ... 
- UVALive 4730 Kingdom +段树和支票托收
			主题链接:点击打开链接 题意见白书P248 思路: 先把读入的y值都扩大2倍变成整数 然后离散化一下 用线段树来维护y轴 区间上每一个点的 城市数量和联通块数量. 然后用并查集维护每一个联通块及联通块 ... 
- MD5算法的原理与实现
			***********************************************声明************************************************ 原创 ... 
- LCS 小结
			转载链接:http://www.cnblogs.com/PJQOOO/p/3897745.html 第一步:先计算最长公共子序列的长度. 实现第一步: 设一个C[i][j]: 保存Xi与Yj的LCS的 ... 
- swiftSingleton模式
			swift在几个方面Singleton模式: 1. 全局变量 private let _singleton = Singleton() class Singleton: NSObject { clas ... 
- linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
			linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ... 
- uva10827-Maximum sum on a torus(矩阵最大和的变形)
			题目;uva10827-Maximum sum on a torus(矩阵最大和的变形) 题目大意:就是uva108的变形,矩阵能够连通,就是能够从后面连到前面.这里把矩阵复制三遍,然后又一次生成一个 ... 
- hdu1881 毕业bg(深搜索dfs)
			主题链接:pid=1881">http://acm.hdu.edu.cn/showproblem.php? pid=1881 ----------------------------- ... 
