Bagikan melalui


Menangani Peristiwa ADO

Model peristiwa ADO mendukung operasi ADO sinkron dan asinkron tertentu yang mengeluarkan peristiwa, atau pemberitahuan, sebelum operasi dimulai atau setelah selesai. Peristiwa sebenarnya adalah panggilan ke rutinitas penanganan aktivitas yang Anda tentukan dalam aplikasi Anda.

Jika Anda menyediakan fungsi handler atau prosedur untuk grup peristiwa yang terjadi sebelum operasi dimulai, Anda dapat memeriksa atau memodifikasi parameter yang diteruskan ke operasi. Karena belum dijalankan, Anda dapat membatalkan operasi atau mengizinkannya untuk diselesaikan.

Peristiwa yang terjadi setelah operasi selesai sangat penting jika Anda menggunakan ADO secara asinkron. Misalnya, aplikasi yang memulai operasi Recordset.Open asinkron diberi tahu oleh peristiwa selesai eksekusi saat operasi selesai.

Menggunakan model peristiwa ADO menambahkan beberapa overhead ke aplikasi Anda tetapi memberikan fleksibilitas yang jauh lebih besar daripada metode lain untuk menangani operasi asinkron, seperti memantau properti Status objek dengan perulangan.

Catatan

Untuk menangani peristiwa, ADO perlu memiliki pompa pesan atau digunakan dalam model apartemen berulir tunggal (STA). Peristiwa ADO ditangani secara internal dengan membuat jendela tersembunyi. ADO memposting pesan ke jendela ini ketika peristiwa perlu diaktifkan. Ini dilakukan untuk memastikan bahwa peristiwa dikirim ke utas yang disebut IConnectionPoint::Advise pada titik koneksi. Arsitektur ini dapat menyebabkan masalah ketika utas yang seharusnya menerima pemberitahuan tidak memompa pesan jendela. Potensi masalah termasuk peristiwa ADO yang tidak dikirimkan ke utas dan siaran jendela global kehabisan waktu dan mungkin memperlambat seluruh sistem karena jendela tersembunyi tidak memproses pesan. Utas STA biasanya memiliki pompa pesan yang berjalan sehingga masalah ini tidak memanifestasikan dirinya pada utas STA. Namun, utas MTA biasanya tidak memiliki pompa pesan sehingga masalah biasanya akan memanifestasikan dirinya pada utas MTA.

Bagian ini berisi topik berikut.

Lihat juga

Ringkasan Penanganan Aktivitas ADO
Instansiasi Peristiwa ADO berdasarkan Bahasa
Peristiwa ADO
Parameter Peristiwa
Jenis aktivitas