sqlite 插入数据时,正确开启事务的方法

bool SqliteDbManager::insertData(const QString& sql)
{
    // 开启事务
    if (!m_db.transaction()) {
        qDebug() << "无法启动事务:" << m_db.lastError().text();
        return false;
    }

    // 执行插入操作
    QSqlQuery query(m_db);
    if (!query.exec(sql))
    {
        qDebug() << "错误:" << query.lastError().text();
        // 回滚事务
        m_db.rollback();
        return false;
    }

    // 提交事务
    if (!m_db.commit())
    {
        qDebug() << "无法提交事务:" << m_db.lastError().text();
        // 回滚事务
        m_db.rollback();
        return false;
    }

    qDebug() << "数据插入成功!";
    return true;
}

 

posted @ 2024-08-14 11:52  雾枫  阅读(6)  评论(0编辑  收藏  举报