c/c++语言开发共享SQLITE(C / C ++接口) – 如何提交事务

我正在使用sqlite c / c ++接口。

现在这是我的情景 –

我有3个表(相关表)说A,B,C。

现在,有一个名为Set的函数,它获取一些输入,并根据输入将行插入这三个表中。 (有时它可以是其中一个表中的更新)

现在我需要两件事。

一,我不想要自动提交function。 基本上我想在每1000次调用Set函数后提交

其次,在set函数本身内,如果我发现在插入两个表后,第三个插入失败,那么我必须还原,那个Set函数调用中的那些特定更改。

现在我没有看到任何sqlite3_commit函数暴露。 我只看到一个名为sqlite3_commit_hook()的函数,它在文档中略有差异。 为此目的是否有任何function? 或者实现这种行为的方法是什么?

你能帮助我做最好的方法吗?

此致,Arjun

    你能在C / C ++代码中使用BEGIN,COMMIT和ROLLBACK sql语句吗?

    您使用sqlite3_exec并分别传递“BEGIN TRANSACTION”和“END TRANSACTION”。

     // 'db' is the pointer you got from sqlite3_open* sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL); // Any (modifying) SQL commands executed here are not committed until at the you call: sqlite3_exec(db, "END TRANSACTION;", NULL, NULL, NULL); 

    这些SQL命令有同义词(如COMMIT而不是END TRANSACTION )。 作为参考,这里是事务的SQLite文档 。

    需要了解更多c/c++开发分享SQLITE(C / C ++接口) – 如何提交事务,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享SQLITE(C / C ++接口) – 如何提交事务相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/979117.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐