Recordset: Mengunci Rekaman (ODBC)
Topik ini berlaku untuk kelas MFC ODBC.
Topik ini menjelaskan:
Saat Anda menggunakan kumpulan rekaman untuk memperbarui rekaman pada sumber data, aplikasi Anda dapat mengunci rekaman sehingga tidak ada pengguna lain yang dapat memperbarui rekaman secara bersamaan. Status rekaman yang diperbarui oleh dua pengguna pada saat yang sama tidak ditentukan kecuali sistem dapat menjamin bahwa dua pengguna tidak dapat memperbarui rekaman secara bersamaan.
Catatan
Topik ini berlaku untuk objek yang berasal dari CRecordset
tempat pengambilan baris massal belum diimplementasikan. Jika Anda telah menerapkan pengambilan baris massal, beberapa informasi tidak berlaku. Misalnya, Anda tidak dapat memanggil Edit
fungsi anggota dan Update
. Untuk informasi selengkapnya tentang pengambilan baris massal, lihat Recordset: Mengambil Rekaman secara Massal (ODBC).
Mode Penguncian Rekaman
Kelas database menyediakan dua mode penguncian rekaman:
Penguncian optimis (default)
Penguncian pesimis
Memperbarui rekaman terjadi dalam tiga langkah:
Anda memulai operasi dengan memanggil fungsi Edit anggota.
Anda mengubah bidang yang sesuai dari rekaman saat ini.
Anda mengakhiri operasi — dan biasanya menerapkan pembaruan — dengan memanggil fungsi Perbarui anggota.
Penguncian optimis mengunci rekaman pada sumber data hanya selama Update
panggilan. Jika Anda menggunakan penguncian optimis di lingkungan multipengguna, aplikasi harus menangani Update
kondisi kegagalan. Penguncian pesimis mengunci rekaman segera setelah Anda memanggil Edit
dan tidak melepaskannya sampai Anda memanggil Update
(kegagalan ditunjukkan melalui CDBException
mekanisme, bukan oleh nilai FALSE yang dikembalikan oleh Update
). Penguncian pesimis memiliki potensi penalti performa untuk pengguna lain, karena akses bersamaan ke rekaman yang sama mungkin harus menunggu hingga selesainya proses aplikasi Update
Anda.
Mengunci Rekaman di Recordset Anda
Jika Anda ingin mengubah mode penguncian objek recordset dari default, Anda harus mengubah mode sebelum memanggil Edit
.
Untuk mengubah mode penguncian saat ini untuk kumpulan rekaman Anda
- Panggil fungsi anggota SetLockingMode, menentukan atau
CRecordset::pessimistic
CRecordset::optimistic
.
Mode penguncian baru tetap berlaku hingga Anda mengubahnya lagi atau kumpulan rekaman ditutup.
Catatan
Relatif sedikit driver ODBC yang saat ini mendukung penguncian pesimis.
Lihat juga
Recordset (ODBC)
Recordset: Melakukan Gabungan (ODBC)
Recordset: Menambahkan, Memperbarui, dan Menghapus Rekaman (ODBC)