Transakcja: jak transakcje wpływają na aktualizacje (ODBC)
Aktualizuje do źródła danych są zarządzane podczas transakcji za pomocą bufor Edycja (tej samej metody używane poza transakcji).Pole danych członków zestawu rekordów wspólnie służyć jako bufor Edycja, który zawiera bieżący rekord, który zestaw rekordów wykonuje kopię zapasową tymczasowo podczas AddNew lub edytować.Podczas usunąć operacji, bieżący rekord nie jest poparte w obrębie transakcji.Aby uzyskać więcej informacji o edycji buforu 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 zbiorczego, nie można wywołać funkcji AddNew, edytować, lub usunąć.Zamiast tego należy napisać własne funkcje do przeprowadzania aktualizacji do źródła danych.Aby uzyskać więcej informacji dotyczących pobierania wierszy bulk, zobacz zestaw rekordów: pobieranie rekordów luzem (ODBC).
Podczas transakcji AddNew, edytować, i usunąć operacji może być przekazana lub wycofana.Skutki CommitTrans i Rollback może spowodować, że bieżący rekord nie zostanie przywrócony do buforu edycji.Aby upewnić się, że bieżący rekord zostanie przywrócone, ważne jest, aby zrozumieć, jak CommitTrans i Rollback funkcji elementów członkowskich z CDatabase współpracują funkcje aktualizacji CRecordset.
Jak CommitTrans wpływa na aktualizacje
W poniższej tabeli opisano skutki CommitTrans w transakcjach.
Jak CommitTrans wpływa na aktualizacje
Operacja |
Stan źródła danych |
---|---|
AddNewi Aktualizacja, a następnie CommitTrans |
Dodaje się nowy rekord do źródła danych. |
AddNew(bez Aktualizacja), a następnie CommitTrans |
Nowy rekord zostaje utracone.Rekord nie jest dodany do źródła danych. |
Edytowanie i Aktualizacja, a następnie CommitTrans |
Edycja zobowiązała się do źródła 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 Rollback w transakcjach.
Wpływ transakcji Rollback
Operacja |
Stan bieżący rekord |
Należy również |
Stan źródła danych |
---|---|---|---|
AddNewi Aktualizacja, następnie wycofywania |
Zawartość bieżącego rekordu są przechowywane tymczasowo, aby zrobić miejsce dla nowego rekordu.Nowy rekord jest wprowadzana w buforze edycji.Po aktualizacji jest wywoływana, bieżący rekord jest przywracany do buforu Edycja. |
|
Dodatek do źródła danych przez Aktualizacja jest odwrotna. |
AddNew(bez Aktualizacja), następnie wycofywania |
Zawartość bieżącego rekordu są przechowywane tymczasowo, aby zrobić miejsce dla nowego rekordu.Edytuj bufor zawiera nowy rekord. |
Wywołanie AddNew ponownie, aby przywrócić buforu Edytuj pusty, nowy rekord.Lub zadzwoń przenieść(0), aby przywrócić stare wartości do buforu edycji. |
Ponieważ Aktualizacja nie została wywołana, nie wprowadzono żadnych zmian dokonanych w źródle danych. |
Edytowanie i Aktualizacja, następnie wycofywania |
Bez edycji wersja bieżącego rekordu są przechowywane tymczasowo.Zawartość buforu edycji są wprowadzane zmiany.Po Aktualizacja jest wywoływana, bez edycji wersji rekordu jest nadal tymczasowo przechowywany. |
Dynamiczny: przewiń od bieżącego rekordu, a następnie wróć do przywrócenia wersji bez edycji rekordu do buforu edycji. Migawka: wywołanie Requery do odświeżania rekordów ze źródła danych. |
Zmiany wprowadzone przez źródło danych Aktualizacja są odwrócone. |
Edytowanie (bez Aktualizacja), następnie wycofywania |
Bez edycji wersja bieżącego rekordu są przechowywane tymczasowo.Zawartość buforu edycji są wprowadzane zmiany. |
Wywołanie edytować ponownie, aby przywrócić wersję bez edycji rekordu do buforu edycji. |
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. |
Usuwanie danych ze źródła danych jest odwrotna. |
Zobacz też
Informacje
Koncepcje
Transakcja: wykonywanie transakcji w zestawie rekordów (ODBC)