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)