ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【QT】学习笔记:处置惩罚数据库 SQLite [打印本页]

作者: 勿忘初心做自己    时间: 2024-10-1 15:38
标题: 【QT】学习笔记:处置惩罚数据库 SQLite

在 Qt 中使用 SQLite 数据库非常简单,Qt 提供了 QSqlDatabase 和 QSqlQuery 类来处置惩罚数据库的毗连、查询、插入、更新和删除等操作。下面是一个示例步伐,展示如何在 Qt 中使用 SQLite 数据库。
示例代码

1. 项目设置

起首,确保在项目的 .pro 文件中添加对 Qt SQL 模块的支持:
  1. QT += sql
复制代码
2. SQLite 数据库操作示例

下面是一个简单的 Qt C++ 步伐,展示如何创建 SQLite 数据库、创建表、插入数据、查询数据等操作。
  1. #include <QCoreApplication>
  2. #include <QSqlDatabase>
  3. #include <QSqlQuery>
  4. #include <QSqlError>
  5. #include <QSqlRecord>
  6. #include <QDebug>
  7. void initializeDatabase()
  8. {
  9.     // 创建或打开 SQLite 数据库
  10.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  11.     db.setDatabaseName("example.db");
  12.     if (!db.open()) {
  13.         qDebug() << "Error: Failed to connect to database." << db.lastError();
  14.         return;
  15.     }
  16.     qDebug() << "Database connected successfully.";
  17.     // 创建表
  18.     QSqlQuery query;
  19.     QString createTableQuery = R"(
  20.         CREATE TABLE IF NOT EXISTS people (
  21.             id INTEGER PRIMARY KEY AUTOINCREMENT,
  22.             name TEXT NOT NULL,
  23.             age INTEGER
  24.         )
  25.     )";
  26.     if (!query.exec(createTableQuery)) {
  27.         qDebug() << "Error: Failed to create table." << query.lastError();
  28.     } else {
  29.         qDebug() << "Table created successfully.";
  30.     }
  31. }
  32. void insertData(const QString &name, int age)
  33. {
  34.     QSqlQuery query;
  35.     query.prepare("INSERT INTO people (name, age) VALUES (:name, :age)");
  36.     query.bindValue(":name", name);
  37.     query.bindValue(":age", age);
  38.     if (!query.exec()) {
  39.         qDebug() << "Error: Failed to insert data." << query.lastError();
  40.     } else {
  41.         qDebug() << "Data inserted successfully.";
  42.     }
  43. }
  44. void queryData()
  45. {
  46.     QSqlQuery query("SELECT id, name, age FROM people");
  47.     while (query.next()) {
  48.         int id = query.value(0).toInt();
  49.         QString name = query.value(1).toString();
  50.         int age = query.value(2).toInt();
  51.         qDebug() << "ID:" << id << "Name:" << name << "Age:" << age;
  52.     }
  53. }
  54. int main(int argc, char *argv[])
  55. {
  56.     QCoreApplication a(argc, argv);
  57.     // 初始化数据库
  58.     initializeDatabase();
  59.     // 插入数据
  60.     insertData("John Doe", 30);
  61.     insertData("Jane Doe", 25);
  62.     // 查询数据
  63.     queryData();
  64.     return a.exec();
  65. }
复制代码
代码说明

运行结果

当你运行这个步伐时,输出可能如下所示:
  1. Database connected successfully.
  2. Table created successfully.
  3. Data inserted successfully.
  4. Data inserted successfully.
  5. ID: 1 Name: John Doe Age: 30
  6. ID: 2 Name: Jane Doe Age: 25
复制代码
总结

通过这个示例,你学会了如何在 Qt 中使用 SQLite 数据库,包括创建数据库、创建表、插入数据和查询数据的根本操作。Qt 的 SQL 模块提供了一个简便的接口,使用它可以轻松地集成 SQLite 或其他 SQL 数据库。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4