Udostępnij za pośrednictwem


CDatabase::BeginTrans

Wywołanie tej funkcji Członkowskich, aby rozpocząć transakcję z podłączonego źródła danych.

BOOL BeginTrans( );

Wartość zwracana

Niezerowa, jeśli wywołanie powiodło i zmiany są tylko ręcznie; 0 inaczej.

Uwagi

Transakcja składa się z jednego lub wielu wywołań do AddNew, Edytuj, usunąć, i aktualizacji Członkowskich funkcje CRecordset obiektu.Przed rozpoczęciem transakcji, CDatabase obiektu musi już były podłączone do źródła danych, wywołując jego OpenEx lub Otwórz funkcji składowej.Aby zakończyć transakcję, należy zadzwonić CommitTrans Zaakceptuj wszystkie zmiany do źródła danych (i wykonuje je) lub wywołanie wycofywania przerwania całej transakcji.Wywołanie BeginTrans po Otwórz wszystkie zestawy rekordów dotyczących transakcji i w pobliżu rzeczywiste aktualizacji operacji możliwie.

Informacje dotyczące przestrogiPrzestroga

W zależności od sterownika ODBC otwarcia rekordów przed wywoływaniem BeginTrans może powodować problemy podczas wywoływania wycofywania.Należy sprawdzić określonego sterownika, którego używasz.Na przykład używając sterownika programu Microsoft Access, zawarte w programie Microsoft ODBC Desktop Driver Pack 3.0, należy uwzględnić wymóg aparatu bazy danych Jet nie powinna rozpoczynać transakcji na dowolnej bazy danych zawierającej otwarte kursora.Klas MFC bazy danych, otwórz kursor oznacza otwartego CRecordset obiektu.Aby uzyskać więcej informacji, zobacz technicznej 68 Uwaga.

BeginTrans może także zablokować rekordy danych na serwerze, w zależności od żądanego współbieżności i możliwości źródła danych.Uzyskać blokady danych, zobacz artykuł rekordów: blokowanie rekordów (ODBC).

Zdefiniowane przez użytkownika transakcje są wyjaśnione w artykule Transakcji (ODBC).

BeginTrans Państwo, do którego sekwencji transakcji można wycofać ustanawia (odwrócone).Ustanowienie nowego Państwa do cofnięcia zatwierdzenia wszelkich bieżącej transakcji, następnie wywołać BeginTrans ponownie.

Informacje dotyczące przestrogiPrzestroga

Wywołanie BeginTrans ponownie bez wywołania CommitTrans lub wycofywania jest błąd.

Wywołanie CanTransact Członkowskich funkcji, aby sprawdzić, czy sterownik obsługuje transakcje dla danej bazy danych.Można również zadzwonić GetCursorCommitBehavior i GetCursorRollbackBehavior do określenia wsparcie dla zachowania kursora.

Aby uzyskać więcej informacji o transakcjach, zobacz artykuł Transakcji (ODBC).

Przykład

Zobacz artykuł transakcji: wykonywanie transakcji w zestawie rekordów (ODBC).

Wymagania

Nagłówek: afxdb.h

Zobacz też

Informacje

Klasa CDatabase

Diagram hierarchii

CDatabase::CommitTrans

CDatabase::Rollback

CRecordset::CanTransact