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 @   雾枫  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示