CDatabase::BeginTrans
呼叫此成員函式從連接的資料來源開始交易。
BOOL BeginTrans( );
傳回值
不是零,如果呼叫成功和變更只手動執行;則為 0。
備註
交易是由一或多個呼叫 AddNew, 編輯, 刪除,因此, 更新CRecordset 的成員函式物件。在交易開始之前,必須藉由呼叫它的 OpenEx 或 開啟 成員函式已經連接 CDatabase 物件資料來源。若要結束交易,請呼叫 CommitTrans 接受之資料來源的任何變更 (並攜帶它們) 或呼叫 復原 中止整個交易。呼叫 BeginTrans ,所有在開啟資料錄集包含在交易相同接近實際更新作業愈好之後。
警告 |
---|
根據您的 ODBC 驅動程式,開啟資料錄集在呼叫 BeginTrans 之前可能會造成問題,當呼叫 復原時。您應該檢查您所使用的特定驅動程式。例如,使用時,在桌面 Microsoft ODBC 驅動程式套件中包含的 Microsoft Access Driver 3.0,您必須考量 Jet 資料庫引擎的要求時不應該啟動在有開啟游標的任何資料庫的交易。在 MFC 資料庫類別,開啟游標代表一個開啟 CRecordset 物件。如需詳細資訊,請參閱 Technical Note 68。 |
BeginTrans 可能會根據要求的並行和資料來源的功能也會鎖定伺服器上的資料錄,。如需鎖定資料的詳細資訊,請參閱本文 資料錄集:鎖定資料錄 (ODBC)。
使用者定義的交易在文件上 交易 (ODBC)解譯。
BeginTrans 建立交易序列可以復原狀態 (回復)。若要復原的新狀態,請再次執行所有目前的交易,然後呼叫 BeginTrans 。
警告 |
---|
再次呼叫 BeginTrans 卻沒有呼叫 CommitTrans 或 Rollback 是個錯誤。 |
呼叫 CanTransact 成員函式來決定您的驅動程式是否支援指定的資料庫的交易。您還應該呼叫 GetCursorCommitBehavior 和 GetCursorRollbackBehavior 決定支援資料指標儲存。
如需交易的詳細資訊,請參閱本文 交易 (ODBC)。
範例
請參閱文件 交易:執行交易在資料錄集 (ODBC)。
需求
Header: afxdb.h