Parameter Peristiwa

Setiap penanganan aktivitas memiliki parameter status yang mengontrol penanganan aktivitas. Untuk Peristiwa lengkap, parameter ini juga digunakan untuk menunjukkan keberhasilan atau kegagalan operasi yang menghasilkan peristiwa. Sebagian besar peristiwa Lengkap juga memiliki parameter kesalahan untuk memberikan informasi tentang kesalahan apa pun yang mungkin telah terjadi, dan satu atau beberapa parameter objek yang merujuk ke objek ADO yang digunakan untuk melakukan operasi. Misalnya, peristiwa ExecuteComplete menyertakan parameter objek untuk objek Perintah, Recordset, dan Koneksi yang terkait dengan peristiwa. Dalam contoh Microsoft® Visual Basic® berikut, Anda dapat melihat objek pCommand, pRecordset, dan pConnection yang mewakili objek Perintah, Kumpulan Rekaman, dan Koneksi yang digunakan oleh metode Jalankan .

Private Sub connEvent_ExecuteComplete(ByVal RecordsAffected As Long, _  
     ByVal pError As ADODB.Error, _  
     adStatus As ADODB.EventStatusEnum, _  
     ByVal pCommand As ADODB.Command, _  
     ByVal pRecordset As ADODB.Recordset, _  
     ByVal pConnection As ADODB.Connection)  

Kecuali untuk objek Kesalahan , parameter yang sama diteruskan ke peristiwa Will. Ini memungkinkan Anda memeriksa setiap objek yang akan digunakan dalam operasi tertunda dan menentukan apakah operasi harus diizinkan untuk diselesaikan.

Beberapa penanganan aktivitas memiliki parameter Alasan , yang memberikan informasi tambahan tentang mengapa peristiwa terjadi. Misalnya, peristiwa WillMove dan MoveComplete dapat terjadi karena salah satu metode navigasi (MoveNext, MovePrevious, dan sebagainya) yang dipanggil atau sebagai hasil dari kueri ulang.

Status Parameter

Saat rutinitas penanganan aktivitas dipanggil, parameter Status diatur ke salah satu nilai berikut.

Nilai Deskripsi
adStatusOK Diteruskan ke acara Will dan Complete. Nilai ini berarti bahwa operasi yang menyebabkan peristiwa berhasil diselesaikan.
adStatusErrorsOccurred Diteruskan ke Selesaikan acara saja. Nilai ini berarti bahwa operasi yang menyebabkan peristiwa tidak berhasil, atau peristiwa Will membatalkan operasi. Periksa parameter Kesalahan untuk detail selengkapnya.
adStatusCantDeny Diteruskan ke acara Will saja. Nilai ini berarti bahwa operasi tidak dapat dibatalkan oleh peristiwa Will. Ini harus dilakukan.

Jika Anda menentukan jika operasi akan dilanjutkan, biarkan parameter Status tidak berubah. Namun, selama parameter status masuk tidak diatur ke adStatusCantDeny, Anda dapat membatalkan operasi yang tertunda dengan mengubah Status ke adStatusCancel. Saat Anda melakukan ini, peristiwa Lengkap yang terkait dengan operasi memiliki parameter Statusnya yang diatur ke adStatusErrorsOccurred. Objek Kesalahan yang diteruskan ke peristiwa Selesai akan berisi nilai adErrOperationCancelled.

Jika Anda tidak lagi ingin memproses peristiwa, Anda dapat mengatur Status ke adStatusUnwantedEvent dan aplikasi Anda tidak akan lagi menerima pemberitahuan tentang peristiwa tersebut. Namun, ingatlah bahwa beberapa peristiwa dapat diangkat karena lebih dari satu alasan. Dalam hal ini, Anda harus menentukan adStatusUnwantedEvent untuk setiap alasan yang mungkin. Misalnya, untuk berhenti menerima pemberitahuan peristiwa RecordChange yang tertunda, Anda harus mengatur parameter Status ke adStatusUnwantedEvent untuk adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete, dan adRsnFirstChange saat terjadi.

Nilai Deskripsi
adStatusUnwantedEvent Minta agar penanganan aktivitas ini tidak menerima pemberitahuan lebih lanjut.
adStatusCancel Meminta pembatalan operasi yang akan terjadi.

Parameter Kesalahan

Parameter Kesalahan adalah referensi ke objek Kesalahan ADO. Ketika parameter Status diatur ke adStatusErrorsOccurred, objek Kesalahan berisi detail tentang mengapa operasi gagal. Jika peristiwa Will yang terkait dengan peristiwa Selesai telah membatalkan operasi dengan mengatur parameter Status ke adStatusCancel, objek kesalahan selalu diatur ke adErrOperationCancelled.

Parameter Objek

Setiap peristiwa menerima satu atau beberapa objek yang mewakili objek yang terlibat dalam operasi. Misalnya, peristiwa ExecuteComplete menerima objek Perintah , objek Recordset , dan objek Koneksi .

Parameter Alasan

Parameter Alasan , adReason, memberikan informasi tambahan tentang mengapa peristiwa terjadi. Peristiwa dengan parameter adReason dapat dipanggil beberapa kali, bahkan untuk operasi yang sama, karena alasan yang berbeda setiap saat. Misalnya, penanganan aktivitas WillChangeRecord dipanggil untuk operasi yang akan melakukan atau membatalkan penyisipan, penghapusan, atau modifikasi rekaman. Jika Anda ingin memproses peristiwa hanya ketika terjadi karena alasan tertentu, Anda dapat menggunakan parameter adReason untuk memfilter kejadian yang tidak Anda minati. Misalnya, jika Anda ingin memproses peristiwa perubahan rekaman hanya ketika terjadi karena rekaman ditambahkan, Anda bisa menggunakan sesuatu seperti berikut ini.

' BeginEventExampleVB01  
Private Sub rsTest_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)  
   If adReason = adRsnAddNew Then  
       ' Process event  
       '...  
   Else  
       ' Cancel event notification for all  
       ' other possible adReason values.  
       adStatus = adStatusUnwantedEvent  
   End If  
End Sub  
' EndEventExampleVB01  

Dalam hal ini, pemberitahuan berpotensi terjadi karena masing-masing alasan lainnya. Namun, itu hanya akan terjadi sekali karena setiap alasan. Setelah pemberitahuan terjadi sekali karena setiap alasan, Anda akan menerima pemberitahuan hanya untuk penambahan rekaman baru.

Sebaliknya, Anda perlu mengatur adStatus ke adStatusUnwantedEvent hanya satu kali untuk meminta penanganan aktivitas tanpa parameter adReason berhenti menerima pemberitahuan peristiwa.

Lihat juga

Ringkasan Penanganan Aktivitas ADO
Instansiasi Peristiwa ADO berdasarkan Bahasa
Cara Penanganan Aktivitas Bekerja Sama
Jenis aktivitas