Zestaw rekordów: blokowanie rekordów (ODBC)
Ten temat dotyczy klas MFC ODBC.
Ten temat tłumaczy:
Rodzaje dostępnych blokowania rekordów.
Jak zablokować rekordy w twoim zestawie rekordów podczas aktualizowania.
Korzystając z zestawu rekordów do aktualizacji rekordu w źródle danych, aplikacji można zablokować rekordu, tak aby żaden inny użytkownik może zaktualizować rekord w tym samym czasie.Stan rekordu aktualizowane przez dwóch użytkowników w tym samym czasie 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 wiersz, który luzem pobieranie nie została zaimplementowana.Jeśli zaimplementowano pobieranie wiersza zbiorczego, niektóre informacje nie ma zastosowania.Na przykład, nie można wywołać funkcji edytować i Aktualizacja funkcji elementów członkowskich.Aby uzyskać więcej informacji dotyczących pobierania wierszy bulk, zobacz zestaw rekordów: pobieranie rekordów luzem (ODBC).
Tryby blokowania rekordów
Klasy bazy danych zapewniają dwa Tryby blokowania rekordów:
Optymistycznego blokowania (wartość domyślna)
Blokowanie pesymistyczne
Aktualizowanie rekordu występuje w trzech krokach:
Rozpocząć operację poprzez wywołanie edytować funkcji składowej.
Zmień odpowiednie pola bieżącego rekordu.
Zakończenia operacji — i normalnie wykonania aktualizacji — wywołując aktualizacji funkcji składowej.
Blokowania optymistycznego połączone blokuje rekord w źródle danych tylko w trakcie Aktualizacja zadzwonić.Korzystając z blokowania optymistycznego połączone w środowisku wielodostępnym, aplikacja powinna obsługiwać Aktualizacja warunek błędu.Pesymistycznego blokowania blokuje rekord, jak najszybciej należy wywołać edytować i nie zwalnia go do momentu wywołania aktualizacji (błędy są oznaczone za pomocą CDBException mechanizmu, nie przez wartość FALSE zwrócone przez aktualizacji).Blokowanie pesymistyczne ma potencjalnego spadku wydajności dla innych użytkowników, ponieważ równoczesny dostęp do tego samego rekordu Czasami musimy czekać do momentu zakończenia aplikacji Aktualizacja proces.
Blokowanie rekordów w twoim zestawie rekordów
Jeśli chcesz zmienić obiektu recordset Tryb blokowania z domyślnych, należy zmienić tryb przed wywołaniem edytować.
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 pozostają w mocy aż do jego ponownej zmiany 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)