Udostępnij za pośrednictwem


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:

  1. Rozpocząć operację poprzez wywołanie Edytuj funkcji składowej.

  2. Możesz zmienić odpowiednie pola bieżącego rekordu.

  3. 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 (ODBC)

Zestaw rekordów: Wykonywanie sprzężenia (ODBC)

Zestaw rekordów: Dodawanie, aktualizowanie i usuwanie rekordów (ODBC)