
RestoreObject
RestoreObject adds the object currently handled by a table, using NewObject if there is not currently an object. Restores an object back to its original state at either BeginTransaction or CommitTransaction - which ever was last called, and that has been read, added, edited or deleted by any operation of ReadObject, AddObject, RewriteObject, DeleteObject.unsigned __int64 RestoreObject ( unsigned int tableID, __int64 objectID = 0, bool releaseObjectLock = true );
Parameters
| tableID | the table ID defining the table's handle. |
| objectID | the objectID of the object to restore, if this value is left zero, it will try to restore the object currently within the table buffers. |
| releaseObjectLock | to maintain a lock on the object for future use, set this value to false. |
Return Values
If the method succeeds, the return value is zero else see error codes for more details.Remarks
- The object that has been restored is no longer apart of the transaction, any edits are also undone and its locks will be freed if releaseObjectLock is true - even if ReadObject was called first.
- If releaseObjectLock is set to false when restoring an object that was read only by ReadObject, this operation will do nothing
Example Use
- C++
#include "ODBPP.h"
#define TABLE_FIRST 1
int wmain(int argc, wchar_t* argv[])
{
unsigned __int64 error;
CODBPP database;
CODBPP::Object object;
const char16_t *userName = u"UserName\0\0\0", *message;
if((error = database.BeginTransaction()) == NO_ERROR
&& (error = database.OpenTable(TABLE_FIRST)) == NO_ERROR){
error = database.DeleteObject(TABLE_FIRST,CODBPP::GREATER_EQUALTO,&object,1,userName);
while(error == NO_ERROR && wcscmp(userName,(char16_t*)object.variable) == 0)
error = database.DeleteObject(TABLE_FIRST,CODBPP::NEXT,&object,1);
if(error == NO_ERROR) error = database.RestoreObject(TABLE_FIRST);
if(error == NO_ERROR) error = database.CommitTransaction();
}
if(error && database.GetErrorMessage(&message) == NO_ERROR)
MessageBox(message);
database.EndTransaction();
return NO_ERROR;
}Also See
AddObject, DeleteObject, ReadObject, RewriteObjectListen All
Comments (0)

