Sdílet prostřednictvím


Sada záznamů: Zamykání záznamů (ODBC)

Toto téma platí pro třídy knihovny MFC rozhraní ODBC.

Toto téma vysvětluje:

  • Dostupné druhy zamykání záznamu.

  • Jak uzamknout záznamy ve vaší sadě záznamů během aktualizací.

Při použití sady záznamů k aktualizaci záznamu ve zdroji dat, může být tento záznam uzamčen vaší aplikací, takže se nemůže stát, že bude jiný uživatel aktualizovat ve stejnou dobu stejný záznam.Stav záznamu, aktualizovaného ve stejný čas dvěma uživateli je nedefinovaný dokud systém nemůže zaručit, že nemůžou aktualizovat dva uživatelé současně.

[!POZNÁMKA]

Toto téma se týká objektů odvozených z třídy CRecordset, ve které nebylo naimplementováno hromadné načítání řádku. Pokud máte naimplementováno hromadné načítání řádku, tak se nevztahuje na některé informace.Například nemůžete volat členské funkce Edit a Update.Další informace o hromadném načítání řádku, naleznete v sady záznamů: Fetching Records in Bulk (ODBC).

Režimy uzamčení záznamu

Třídy databází poskytují dva režimy uzamčení záznamu:

  • Optimistické zamykání (výchozí)

  • Pesimistické zamykání

Aktualizace záznamu se skládá ze tří kroků:

  1. Zahájíte operaci voláním členské funkce Edit.

  2. Změníte příslušná pole aktuálního záznamu.

  3. Ukončíte operaci – a obvykle zapíšete aktualizaci – voláním členské funkce Update.

Optimistické uzamčení uzamkne záznam zdroje dat pouze během volání členské funkce Update.Pokud použijete optimistické uzamčení ve víceuživatelském prostředí, měla by aplikace zpracovat stav selhání funkce Update.Pesimistické zamykání uzamkne záznam ihned poté, co budete volat členskou funkci Edit a neuvolní jej dokud nezavoláte členskou funkci Update (chyby jsou označeny pomocí mechanismu CDBException, nikoli podle hodnoty FALSE vrácené funkcí Update).Pesimistické zamykání snižuje potenciální výkon pro jiné uživatele, protože souběžný přístup do téhož záznamu bude muset počkat na to, až vaše aplikace dokončí proces Update.

Zamykání záznamů ve vaší sadě záznamů

Pokud chcete změnit režim uzamčení objektu sady záznamů z výchozího na uzamčený, je nutné provést tuto změnu před zavoláním funkce Edit.

Chcete-li změnit aktuální režim uzamčení pro vaši sadu záznamů

  • Zavolejte členskou funkci SetLockingMode určením buď CRecordset::pessimistic nebo CRecordset::optimistic.

Nový režim uzamčení zůstává v platnosti tak dlouho, dokud jej opět nezměníte nebo dokud se neuzavře sada záznamů.

[!POZNÁMKA]

Relativně malé množství ovladačů rozhraní ODBC aktuálně podporuje pesimistické zamykání.

Viz také

Koncepty

Sada záznamů (ODBC)

Sada záznamů: Provedení spojení (rozhraní ODBC)

Seznam záznamů: Přidávání, aktualizace a odstranění záznamů (ODBC).