Qt操作SQLite数据库

本文介绍了如何使用Qt进行SQLite数据库的基本操作,包括连接数据库、打开数据库、执行查询语句等步骤,并提供了一段示例代码来展示这些操作的具体实现。

一、学习来源

增、删、改、查数据库
https://www.bilibili.com/video/BV1AA411N7RR?p=4&vd_source=29f953207b98cbc899934ba387138b0d
https://www.bilibili.com/video/BV1AA411N7RR?p=5&vd_source=29f953207b98cbc899934ba387138b0d

推荐SQLite数据库可视化工具 SQLite Expert Professional

二、查询数据库

     QSqlDatabase db;

    //第一步:连接数据库( 2步)
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(path);//路径以db结尾,注意:如果不存在就自动创建

    //第二步:打开数据库
    if(!db.open())
    {
        qDebug()<<"Error failed to open"<<db.lastError();

    }else
    {
        qDebug()<<"open success";
    }

    //第三步:开始操作数据库
    QSqlQuery query;//在创建该对象时,系统会自动完成与数据库的关联

    //第四步:操作数据库

    //查询数据库
    //查询数据 select * from staff;//表示查询所有字段
    QString sqlSelect = QString("select * from widget;");
    if(!query.exec(sqlSelect))//注意这里 只是查询 还没有读取
    {
        qDebug()<<"select error"<<db.lastError();
    }else
    {
//        int i =0;

        while (query.next()) {
            //这里是读取

           QString str_1 =  query.value("widegtClass").toString();

        }
    }
以下是一个使用Qt操作SQLite数据库的基本代码示例,该示例包含了创建数据库、创建表、插入数据、查询数据和删除数据的操作: ```cpp #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 1. 添加SQLite数据库驱动 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); // 2. 设置数据库文件名 db.setDatabaseName("test.db"); // 3. 打开数据库 if (!db.open()) { qDebug() << "无法打开数据库:" << db.lastError().text(); return 1; } // 4. 创建表 QSqlQuery query; QString createTableQuery = "CREATE TABLE IF NOT EXISTS students (" "id INTEGER PRIMARY KEY AUTOINCREMENT, " "name TEXT NOT NULL, " "age INTEGER NOT NULL)"; if (!query.exec(createTableQuery)) { qDebug() << "创建表失败:" << query.lastError().text(); return 1; } // 5. 插入数据 QString insertQuery = "INSERT INTO students (name, age) VALUES ('John', 20)"; if (!query.exec(insertQuery)) { qDebug() << "插入数据失败:" << query.lastError().text(); return 1; } // 6. 查询数据 QString selectQuery = "SELECT * FROM students"; if (query.exec(selectQuery)) { while (query.next()) { int id = query.value(0).toInt(); QString name = query.value(1).toString(); int age = query.value(2).toInt(); qDebug() << "ID:" << id << "Name:" << name << "Age:" << age; } } else { qDebug() << "查询数据失败:" << query.lastError().text(); return 1; } // 7. 删除数据 QString deleteQuery = "DELETE FROM students WHERE name = 'John'"; if (!query.exec(deleteQuery)) { qDebug() << "删除数据失败:" << query.lastError().text(); return 1; } // 8. 关闭数据库 db.close(); return a.exec(); } ``` ### 代码说明: 1. **添加数据库驱动**:使用`QSqlDatabase::addDatabase("QSQLITE")`添加SQLite数据库驱动。 2. **设置数据库文件名**:使用`db.setDatabaseName("test.db")`设置数据库文件名。 3. **打开数据库**:使用`db.open()`打开数据库。 4. **创建表**:使用`QSqlQuery`执行SQL语句`CREATE TABLE`创建表。 5. **插入数据**:使用`QSqlQuery`执行SQL语句`INSERT INTO`插入数据。 6. **查询数据**:使用`QSqlQuery`执行SQL语句`SELECT * FROM`查询数据,并使用`query.next()`遍历结果集。 7. **删除数据**:使用`QSqlQuery`执行SQL语句`DELETE FROM`删除数据。 8. **关闭数据库**:使用`db.close()`关闭数据库
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔记本IT

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值