Aracılığıyla paylaş


Kayıt Kümesi: Kayıtları Kilitleme (ODBC)

Bu konu MFC ODBC sınıfları için geçerlidir.

Bu konu açıklıyor:

Veri kaynağındaki bir kaydı güncelleştirmek için kayıt kümesi kullandığınızda, uygulamanız kaydı kilitleyebilir, böylece başka hiçbir kullanıcı kaydı aynı anda güncelleştiremez. Sistem iki kullanıcının aynı anda bir kaydı güncelleştiremeyeceğini garanti etmediği sürece, aynı anda iki kullanıcı tarafından güncelleştirilen bir kaydın durumu tanımlanmamıştır.

Not

CRecordset'den türetilmiş ve toplu satır getirmenin uygulanmadığı nesneler için bu konu geçerlidir. Toplu satır getirme işlemi uyguladıysanız, bazı bilgiler geçerli olmayabilir. Örneğin, Edit ve Update üye işlevlerini çağıramazsınız. Toplu satır getirme hakkında daha fazla bilgi için bkz Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC).

Kayıt Kilitleme Modları

Veritabanı sınıfları iki kayıt kilitleme modu sağlar:

  • İyimser kilitleme (varsayılan)

  • Pesimist kilitleme

Kaydı güncelleştirme işlemi üç adımda gerçekleşir:

  1. İşleme Üyeyi düzenle işlevini çağırarak başlarsınız.

  2. Geçerli kaydın uygun alanlarını değiştirirsiniz.

  3. İşlemi sonlandırmak ve güncelleştirmeyi normal şekilde işlemek için Update üye işlevini çağırın.

İyimser kilitleme, veri kaynağındaki kaydı yalnızca Update çağrısı sırasında kilitler. Çok kullanıcılı bir ortamda iyimser kilitleme kullanıyorsanız, uygulama bir Update hata koşulunu işlemelidir. Kötümser kilitleme, `Edit` çağrınızı yaptığınız anda kaydı kilitler ve `Update` çağrınızı yapana kadar serbest bırakmaz. Hatalar, `CDBException` mekanizması aracılığıyla belirtilir ve `Update` tarafından döndürülen FALSE değeri ile gösterilmez. Kötümser kilitlemenin diğer kullanıcılar için olası bir performans cezası vardır, çünkü aynı kayda eşzamanlı erişimin uygulamanızın işlemi tamamlanıncaya kadar beklemesi Update gerekebilir.

Kayıt Kümenizdeki Kayıtları Kilitleme

Bir kayıt kümesi nesnesinin kilitleme modunu varsayılan moddan değiştirmek istiyorsanız, çağırmadan Editönce modu değiştirmeniz gerekir.

Kayıt kümenizin geçerli kilitleme modunu değiştirmek için

  1. SetLockingMode üye işlevini, ya CRecordset::pessimistic ya da CRecordset::optimistic belirterek çağırın.

Siz yeniden değiştirene veya kayıt kümesi kapatılana kadar yeni kilitleme modu etkin kalır.

Not

Görece az sayıda ODBC sürücüsü şu anda kötümser kilitlemeyi desteklemektedir.

Ayrıca bkz.

Kayıt Kümesi (ODBC)
Recordset: Birleştirme Yapma (ODBC)
Kayıt kümesi: Kayıtları Ekleme, Güncelleştirme ve Silme (ODBC)