Bagikan melalui


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:

  1. Anda memulai operasi dengan memanggil fungsi Edit anggota.

  2. Anda mengubah bidang yang sesuai dari rekaman saat ini.

  3. 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

  1. 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)