QSqlDatabase操作数据库sqlite3

本文介绍如何利用Qt的QSqlDatabase模块,详细步骤包括建立与SQLite3数据库的连接,执行SQL查询与更新操作,以及关闭数据库连接。适合Qt开发者了解和实践数据库操作。
摘要由CSDN通过智能技术生成

基本打开数据库,执行SQL语句:

    static const char* DBName = "./test.db";
    QFileInfo file(DBName);
    if(file.exists() == false)
    {
        QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName(DBName); //设置数据库名

        if (!db.open())
        {
            qDebug("数据库不能打开");
            return -1;
        }

        QSqlQuery query;
        ///创建卡号数据库
        query.exec("CREATE TABLE tb_card(cardNum varchar(64) PRIMARY KEY, name varchar(64), job varchar(64))");
        query.clear();
     }

select查询获取数据:

    QSqlQuery query(dbConn);
    QString sqlStr;
    sqlStr.append("select * from tb_card");
    bool isSuccess = query.exec(sqlStr);

    QString cardNum, name, job;
    int i = 0;
    while(query.next()) //query.next()指向查找到的第一条记录,然后每次后移一条记录
    {
  
Qt是一个跨平台的C++应用程序框架,它提供了对SQLite3数据库的支持,使得在Qt程序中可以方便地进行数据库操作。以下是使用Qt进行SQLite3数据库增删改查的基本步骤: 1. 连接到数据库: 首先,需要使用QSqlDatabase类来建立与SQLite3数据库的连接。 ```cpp QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("path_to_your_database.db"); if (!db.open()) { qDebug() << "无法打开数据库"; return; } ``` 2. 增加(Insert)操作: 可以使用QSqlQuery类来执行SQL命令,进行数据的插入。 ```cpp QSqlQuery query; query.prepare("INSERT INTO your_table_name (column1, column2) VALUES (:value1, :value2)"); query.bindValue(":value1", value1); query.bindValue(":value2", value2); if (!query.exec()) { qDebug() << "插入失败:" << query.lastError(); } ``` 3. 删除(Delete)操作: 执行删除操作SQL命令,删除符合条件的记录。 ```cpp QSqlQuery query; query.prepare("DELETE FROM your_table_name WHERE condition_column = :condition_value"); query.bindValue(":condition_value", conditionValue); if (!query.exec()) { qDebug() << "删除失败:" << query.lastError(); } ``` 4. 更新(Update)操作: 修改数据库中符合条件的记录。 ```cpp QSqlQuery query; query.prepare("UPDATE your_table_name SET column1 = :value1, column2 = :value2 WHERE condition_column = :condition_value"); query.bindValue(":value1", newValue1); query.bindValue(":value2", newValue2); query.bindValue(":condition_value", conditionValue); if (!query.exec()) { qDebug() << "更新失败:" << query.lastError(); } ``` 5. 查询(Select)操作: 查询数据并获取结果。 ```cpp QSqlQuery query("SELECT * FROM your_table_name"); while (query.next()) { QString column1 = query.value(0).toString(); QString column2 = query.value(1).toString(); // ... 处理其他列 } ``` 在进行数据库操作时,要注意异常处理和错误检测,确保数据的完整性和程序的健壮性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值