Qt5数据库操作

本文通过一个Qt项目实例,展示了如何使用SQLite数据库进行基本操作,包括数据库的创建、打开、关闭,表格的添加、删除,以及数据的增删改查。代码示例详细解释了如何利用QSqlDatabase和QSqlQuery类执行SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以SQLITE为例,对数据库进行简单操作
数据库的基本操作不外乎以下几类:

  • 建立数据库
  • 数据库打开关闭
  • 表格的添加删除
  • 数据的增删改查

以下是一个Qt例子,其中主要涉及的类:QSqlDatabase,QSqlQuery,前者对数据库进行设置,后者执行sql语句

工程文件(*.pro)

QT += core sql

CONFIG += c++11 console
CONFIG -= app_bundle

DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += \
        main.cpp

cpp文件

#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlError>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("demoSqlite.db");
    if(!db.open())
    {
        qDebug()<<db.lastError();
        return 0;
    }
    QSqlQuery query;
    QStringList tables = db.tables();
    if(!tables.contains("users"))
    {
        if(!query.exec("CREATE TABLE users(id integer primary key, name varchar, age integer);"))
        {
            qDebug()<<"create users error";
            qDebug()<<query.lastError();
            db.close();
            return 0;
        }
    }
    if(!query.exec("insert into users values(1, 'name1', 21), (2, 'name2', 23);"))
    {
        qDebug()<<"insert data into users error";
        qDebug()<<query.lastError();
    }
    if(!query.exec("select * from users;"))
    {
        qDebug()<<"query from users error";
        qDebug()<<query.lastError();
    }
    for(; query.next();)
    {
        qDebug()<<query.value("id").toInt();
        qDebug()<<query.value("name").toString();
        qDebug()<<query.value("age").toUInt();
    }
    db.close();

    return a.exec();
}

运行结果
在这里插入图片描述
表格数据
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值