C++ MFC/C+中是否有任何数据库事务机制+;?

C++ MFC/C+中是否有任何数据库事务机制+;?,c++,database,mfc,transactions,C++,Database,Mfc,Transactions,我想确保,如果在数据库处理阶段发生任何错误,程序将知道它需要回滚整个过程 MFC/C++中有什么好的ORM可以做到这一点吗?如果您连接到事务数据库,如SQL Server、Oracle、PostgreSQL、Firebird、MySQL的一些数据引擎等,那么它们将有一个用于事务的API。类似地,一些非SQL数据库也具有事务语义和关联的API(如Berkeley DB)。因为你没有提到你在使用什么数据库,我真的不知道还能说什么。如果你连接到一个事务性数据库,比如SQL Server、Oracle、

我想确保,如果在数据库处理阶段发生任何错误,程序将知道它需要回滚整个过程


MFC/C++中有什么好的ORM可以做到这一点吗?

如果您连接到事务数据库,如SQL Server、Oracle、PostgreSQL、Firebird、MySQL的一些数据引擎等,那么它们将有一个用于事务的API。类似地,一些非SQL数据库也具有事务语义和关联的API(如Berkeley DB)。因为你没有提到你在使用什么数据库,我真的不知道还能说什么。

如果你连接到一个事务性数据库,比如SQL Server、Oracle、PostgreSQL、Firebird、MySQL的一些数据引擎等,那么他们将有一个用于事务的API。类似地,一些非SQL数据库也具有事务语义和关联的API(如Berkeley DB)。因为你没有提到你在使用什么数据库,我真的不知道还有什么好说的。

这与ORM无关。您需要基本的事务功能


如果您使用的是MFC,那么很可能您正在通过
CDATA数据库
(ODBC)、
CDaoWorkspace
/
CDaoDatabase
(DAO)或
CDATA连接
/
CSSession
(OLE DB)使用数据库。如果是这样,您应该分别使用
CDatabase::Rollback
CDaoWorkspace::Rollback
CSession::Abort

这与ORM无关。您需要基本的事务功能


如果您使用的是MFC,那么很可能您正在通过
CDATA数据库
(ODBC)、
CDaoWorkspace
/
CDaoDatabase
(DAO)或
CDATA连接
/
CSSession
(OLE DB)使用数据库。如果是这样,您应该分别使用
CDatabase::Rollback
CDaoWorkspace::Rollback
CSession::Abort

MFC\u ConnectionPtr对象具有BeginTrans、CommitTrans和RollbackTrans方法


不过,我不认为它是好的,您需要包装它。

MFC\u ConnectionPtr对象具有BeginTrans、CommitTrans和RollbackTrans方法


<>我不称它为好,但是你需要包装它。

< DEBEA数据库库是C++的ORM,

< DEBEA数据库库是C++的ORM,

这不取决于你使用的数据库吗?例如Access不支持事务,MySQL支持-取决于数据库引擎,…这不取决于您使用的数据库吗?例如,Access不支持事务,MySQL确实依赖于DB引擎,在C++中使用RAII类来包装它们。构造函数在销毁之前没有提交提交时开始事务,析构函数RoSrBead。在C++中使用RAII类来包装它们。构造函数开始事务,如果销毁之前未应用提交,则析构函数回滚。