Zestaw rekordów: Blokowanie rekordów (ODBC)
Ten temat dotyczy klas MFC ODBC.
W tym temacie wyjaśniono:
Rodzaje dostępnych blokowanie rekordów.
Blokowania rekordów w twoim zestawie rekordów podczas aktualizacji.
Użycie zestawu rekordów do aktualizacji rekordu w źródle danych, aplikacji można zablokować rekordu, więc żaden inny użytkownik może zaktualizować rekord w tym samym czasie.Stan rekordu zaktualizowany przez dwóch użytkowników jednocześnie jest niezdefiniowana, chyba, że system może zagwarantować, że dwóch użytkowników nie można jednocześnie zaktualizować rekord.
[!UWAGA]
Ten temat dotyczy obiekty pochodzące z CRecordset w którym wiersz luzem pobieranie nie została zaimplementowana.Jeśli wprowadziły pobieranie wiersza luzem, niektóre informacje nie ma zastosowania.Na przykład, nie można wywołać Edytuj i Aktualizacja funkcji elementów członkowskich.Aby uzyskać więcej informacji na temat Pobieranie wiersza luzem, zobacz zestaw rekordów: pobieranie rekordów luzem (ODBC).
Tryby blokowania rekordów
Klasy bazy danych zapewniają dwa Tryby blokowania rekordów:
Optymistycznego blokowania (domyślnie)
Blokowanie pesymistyczne
Aktualizowanie rekordu występuje w trzech krokach:
Rozpocząć operację poprzez wywołanie Edytuj funkcji składowej.
Możesz zmienić odpowiednie pola bieżącego rekordu.
Zakończenia operacji — i zwykle Zatwierdź aktualizację — wywołując Aktualizacja funkcji składowej.
Blokowania optymistycznego blokowania rekordu w źródle danych tylko podczas Aktualizacja wywołania.Jeśli korzystasz z blokowania optymistycznego połączone w orodowisku wielodostępnym, powinien obsługiwać aplikacja Aktualizacja błąd.Pesymistycznego blokowania blokuje rekord natychmiast po wywołaniu Edytuj i nie zwalnia go do momentu wywołania aktualizacji (błędy są wskazane przez CDBException mechanizmu, nie przez wartość FALSE zwrócony przez aktualizacji).Blokowanie pesymistyczne ma potencjalnych ograniczeń wydajności dla innych użytkowników, ponieważ równoczesny dostęp do tego samego rekordu, być może trzeba poczekać, aż do zakończenia aplikacji Aktualizacja proces.
Blokowanie rekordów w twoim zestawie rekordów
Jeśli chcesz zmienić obiektu recordset trybu blokowania z domyślnego, należy zmienić tryb przed wywołaniem Edytuj.
Aby zmienić bieżący tryb blokowania swój zestaw rekordów
- Wywołanie SetLockingMode funkcji składowej, określając albo CRecordset::pessimistic lub CRecordset::optimistic.
Nowy tryb blokowania pozostaje, dopóki ponownie zmienić lub zestaw rekordów jest zamknięty.
[!UWAGA]
Stosunkowo niewiele sterowników ODBC obsługuje obecnie pesymistycznego blokowania.
Zobacz też
Koncepcje
Zestaw rekordów: Wykonywanie sprzężenia (ODBC)
Zestaw rekordów: Dodawanie, aktualizowanie i usuwanie rekordów (ODBC)