0

我是 PostgreSQL 和 pqxx 的新手。我用 C++ 编写代码。我刚刚写了一个示例程序。一切都很好,但是当我执行我的程序时,我看到一个错误:

在事务仍处于活动状态时开始非事务。

这是代码: http: //pastebin.com/p8CJ6Eaz

如果有人知道如何使用这些事务对象,请向我解释。向所有人问候并感谢您的帮助。

4

1 回答 1

0

消息Started nontransaction while transaction still active实际上不是错误。pqxx不是为处理嵌套事务而设计的,它一次只能处理一个事务。您可以在此处阅读详细信息; pqxx 重用/重新激活工作事务

如果您在发出非事务 sql 命令之前提交事务,您的代码实际上可以正常工作,所以我会改变;

取消注释第 49 行的提交以完成事务; W.commit();

并将第 69 行更改W.exec(sql);为非事务性工作; N.exec(sql);

希望有帮助。

于 2016-02-05T17:58:51.563 回答