CDatabase::BeginTrans

BOOL BeginTrans ( );

Wartość zwracany

Niezerowa, jeśli wywołanie zakończyła się pomyślnie, a zmiany są zobowiązane tylko ręcznie; inny sposób 0.

Uwagi

Wywołanie tej funkcji Państwa, aby rozpocząć transakcję z podłączonego źródła danych. Transakcja składa się z jednego lub wielu wywołań funkcji członek AddNew, Edytowanie, Usuwaniei Aktualizacja obiektu CRecordset . Przed rozpoczęciem transakcji, obiektu CDatabase musi już były podłączone do źródła danych przez wywołanie funkcji członek jego OpenEx lub otwarte . Aby zakończyć transakcję, wywołania CommitTrans Zaakceptuj wszystkie zmiany w źródle danych (i wykonuje je) lub zadzwoń wycofywania przerwania całej transakcji. Wywołanie BeginTrans po otwarciu żadnych rekordów zaangażowanych w transakcję jako zbliżone do rzeczywistych operacji i aktualizacji możliwie.

Przestroganbsp;  W zależności od sterownika ODBC otwarcie zestawu rekordów przed wywołaniem metody BeginTrans mogą powodować problemy podczas wywoływania wycofywania. &Należy sprawdzić konkretny sterownik, którego używasz. Na przykład gdy używany jest sterownik Microsoft Access zawarte w programie Microsoft ODBC Desktop Driver Pack 3.0, muszą uwzględniać wymogu aparatu bazy danych Jet, że nie należy rozpocząć transakcję na dowolnej bazy danych, który został otwarty kursora. Klas MFC bazy danych otwartej kursor oznacza Otwórz obiekt CRecordset . Aby uzyskać więcej informacji zobacz temat technicznych Uwaga 68.

BeginTrans może również blokowania rekordów danych na serwerze, w zależności od żądanego współbieżności i możliwości źródła danych. Dla informacji na temat blokowania danych, zobacz artykuł rekordów: blokowanie rekordów (ODBC) w Visual C++ Programmer's Guide.

Zdefiniowane przez użytkownika transakcje są wyjaśnione w artykule Transakcji (ODBC) w Visual C++ Programmer's Guide.

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

! Ostrzeże&nienbsp;  Wywołanie BeginTrans ponownie bez wywoływania CommitTrans lub wycofywania jest błąd.

Wywołać funkcję Państwa CanTransact , aby sprawdzić, czy sterownik obsługuje transakcje dla danej bazy danych. Można również zadzwonić GetCursorCommitBehavior i GetCursorRollbackBehavior , aby określić obsługę kursora konserwacji.

Aby uzyskać więcej informacji na temat transakcji, zobacz artykuł Transakcji (ODBC) w Visual C++ Programmer's Guide.

Przykład

Zobacz artykuł transakcji: wykonywanie transakcji w zestawie rekordów (ODBC) w Visual C++ Programmer's Guide.

Omówie&nie CDatabase |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CDatabase::CommitTrans, CDatabase::Rollback, CRecordset::CanTransact

Index