
AbortTransaction
AbortTransaction returns the current transaction to its original state, it could be the state at the beginning of the transaction or after the last CommitTransaction.unsigned __int64 AbortTransaction( bool releaseObjectLocks = true );
Parameters
| releaseObjectLocks | If this is set to false, this method acts as an unsave point, undoing all adds, edits and deletes, but not releasing any object locks. |
Return Values
If the method succeeds, the return value is zero else see error codes for more details.Remarks
Example Use
- C++
#include "ODBPP.h"
#define FIRST_TABLE 1
CODBPP::Object object;
struct FixedObject{
int First;
double Second;
} *fixedObject;
int wmain(int argc, wchar_t* argv[])
{
unsigned __int64 error;
const char16_t *message;
CODBPP database;
CODBPP::Object object;
if((error = database.BeginTransaction()) == NO_ERROR
&& (error = database.OpenTable(FIRST_TABLE)) == NO_ERROR){
while(error == NO_ERROR){
if((error = database.NewObject(FIRST_TABLE,&object)) == NO_ERROR){
fixedObject = (struct FixedObject*)object.fixed;
fixedObject->First = 456;
fixedObject->Second = 456.789;
if((error = database.AddObject(FIRST_TABLE,&object)) == NO_ERROR){
if(object.ID > 30){
error = database.AbortTransaction();
break;
}
if(object.ID > 25) break;
}
}
}
if(error == NO_ERROR) error = database.CommitTransaction();
}
if(error && database.GetErrorMessage(&message) == NO_ERROR)
MessageBox(message);
database.EndTransaction();
return NO_ERROR;
}Also See
BeginTransaction, CommitTransaction, EndTransactionListen All
Comments (0)

