Udostępnij za pośrednictwem


Transakcja: Jak transakcje dotyczą aktualizacji (ODBC)

Aktualizacje do źródła danych są zarządzane podczas transakcji z użyciem buforu Edycja (tej samej metody używane poza transakcji).Pole danych członków zestawu rekordów wspólnie służyć jako bufor Edycja, zawierający bieżącego rekordu, zestawu rekordów kopię zapasową tymczasowo w AddNew lub Edytuj.Podczas usunąć operacji, bieżący rekord nie jest kopii zapasowej w obrębie transakcji.Aby uzyskać więcej informacji na temat buforu Edycja i jak aktualizacje przechowywać bieżącego rekordu, zobacz zestaw rekordów: jak zestawy rekordów aktualizacji rekordów (ODBC).

[!UWAGA]

Jeśli zaimplementowano pobieranie wiersza luzem, nie można wywołać funkcji AddNew, Edytuj, lub usunąć.Zamiast tego należy napisać własne funkcje do przeprowadzania aktualizacji do źródła danych.Aby uzyskać więcej informacji na temat Pobieranie wiersza luzem, zobacz zestaw rekordów: pobieranie rekordów luzem (ODBC).

Podczas transakcji AddNew, Edytuj, i usunąć operacji może być przekazana lub wycofana.Skutki CommitTrans i wycofywania może spowodować, że bieżący rekord nie można przywrócić do buforu Edycja.Aby upewnić się, że bieżący rekord zostanie przywrócone, jest ważne, aby zrozumieć, jak CommitTrans i wycofywania funkcji elementów członkowskich z CDatabase pracy z funkcji aktualizacji CRecordset.

Wpływ aktualizacji CommitTrans

W poniższej tabeli opisano skutki CommitTrans transakcji.

Wpływ aktualizacji CommitTrans

Operacja

Stan źródła danych

AddNewi Aktualizacja, a następnie CommitTrans

Nowy rekord dodanych do źródła danych.

AddNew(bez Aktualizacja), a następnie CommitTrans

Nowy rekord jest tracony.Rekord nie zostały dodane do źródła danych.

Edytowanie i Aktualizacja, a następnie CommitTrans

Edycja popełnione ze źródłem danych.

Edytowanie (bez Aktualizacja), a następnie CommitTrans

Tracone są zmiany w rekordzie.Rekord pozostaje bez zmian w źródle danych.

Usuwanie następnie CommitTrans

Rekordy usunięte ze źródła danych.

Wpływ transakcji Rollback

W poniższej tabeli opisano skutki wycofywania transakcji.

Wpływ transakcji Rollback

Operacja

Stan bieżącego rekordu

Należy również

Stan źródła danych

AddNewi Aktualizacja, następnie wycofywania

Zawartość bieżącego rekordu jest tymczasowo przechowywane, aby zwolnić miejsce dla nowego rekordu.Nowy rekord jest wprowadzana w buforze Edycja.Po Aktualizacja jest nazywany bieżący rekord jest przywracany do buforu Edycja.

 

Dodanie do źródła danych przez Aktualizacja jest odwrotna.

AddNew(bez Aktualizacja), następnie wycofywania

Zawartość bieżącego rekordu jest tymczasowo przechowywane, aby zwolnić miejsce dla nowego rekordu.Edytuj bufor zawiera nowy rekord.

Wywołanie AddNew ponownie, aby przywrócić buforu Edytuj nowy, pusty rekord.Zgłoszenia lub przenieść(0), do przywrócenia starych wartości do buforu Edycja.

Ponieważ Aktualizacja nie została wywołana, nie wprowadzono żadnych zmian dokonanych w źródle danych.

Edytowanie i Aktualizacja, następnie wycofywania

Tymczasowe przechowywanie wykasowane wersja bieżącego rekordu.Zmiany są wprowadzane zawartość buforu Edycja.Po Aktualizacja jest wywoływana, porcję wersji rekordu jest nadal tymczasowo przechowywane.

Dynamiczny: przewijać off bieżącego rekordu, a następnie wróć do przywrócenia wykasowane wersji rekordu do buforu Edycja.

Migawka: Call Requery do odświeżania rekordów ze źródła danych.

Zmiany do źródła danych przez Aktualizacja są cofane.

Edytowanie (bez Aktualizacja), następnie wycofywania

Tymczasowe przechowywanie wykasowane wersja bieżącego rekordu.Zmiany są wprowadzane zawartość buforu Edycja.

Wywołanie Edytuj ponownie, aby przywrócić wykasowane wersji rekordu do buforu Edycja.

Ponieważ Aktualizacja nie została wywołana, nie wprowadzono żadnych zmian dokonanych w źródle danych.

Usuwanie następnie wycofywania

Skreśla się zawartość bieżącego rekordu.

Wywołanie Requery do przywrócenia zawartości bieżącego rekordu ze źródła danych.

Usunięcie danych ze źródła danych jest odwrócony.

Zobacz też

Informacje

Klasa CDatabase

Klasa CRecordset

Koncepcje

Transakcja (ODBC)

Transakcja (ODBC)

Transakcja: Wykonywanie transakcji w zestawie rekordów (ODBC)