qt中SQLite基本使用

qt中SQLite基本使用

SQLite数据库,是一款轻型的数据库,比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快,不需要server,可以集成在软件中。在Qt自带SQLite库,所以在Qt中使用SQLite数据库是非常方便的,

添加SQL模块:

在Qt项目文件中(.pro)添加SQL模块 QT += sql

需要使用的头文件:

1#include <QtSql/QSqlDatabase> 2#include <QtSql/QSqlQuery> 3#include <QtSql/QSqlRecord>

连接数据库: QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”); db.setDatabaseName(“test.db”); if(!db.open()) { qDebug() << “test.db Open failed!”; return; }“`cpp QString insert_sql = “insert into student values (?, ?, ?)”; query.prepare(insert_sql); query.addBindValue(1); query.addBindValue(“张三”); query.addBindValue(25); if(!query.exec()) { qDebug() << query.lastError(); } else { qDebug() << QString::fromLocal8Bit(“inserted 张三!”); } ##### 断开数据库: db.close(); ##### 创建表格: 创建一个名为student的表格,表格包含三列,第一列是id,第二列是名字,第三列是年龄“`cpp QSqlQuery query(db); bool success = query.exec(“create table student (id int primary key, name varchar(30), age int)”); if(success) { qDebug() << QObject::tr(“数据库表创建成功!\n”); }else{ qDebug() << QObject::tr(“数据库表创建失败!\n”); } 添加一行数据: QString insert_sql = “insert into student values (?, ?, ?)”; query.prepare(insert_sql); query.addBindValue(1); query.addBindValue(“张三”); query.addBindValue(25); if(!query.exec()) { qDebug() << query.lastError(); } else { qDebug() << QString::fromLocal8Bit(“inserted 张三!”); } 修改数据: QString update_sql = “update student set name = :name where id = :id”; query.prepare(update_sql); query.bindValue(“:name”, “Qt”); query.bindValue(“:id”, 1); if(!query.exec()) { qDebug() << query.lastError(); } else { qDebug() << “updated!”; } 查询数据: QSqlQuery query; query.prepare(“SELECT * FROM sensors”); query.exec(); QSqlRecord recode = query.record(); while(query.next()) { qDebug() << query.value(“id”).toInt(); qDebug() << query.value(“name”).toInt(); qDebug() << query.value(“age”).toString(); }

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:qt中SQLite基本使用 https://www.yhzz.com.cn/a/14701.html

上一篇 2023-05-12 10:26:17
下一篇 2023-05-12 10:28:19

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。