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 Selesai 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 Command, Recordset, dan Koneksi ion yang terkait dengan peristiwa. Dalam contoh Visual Basic berikut, Anda dapat melihat objek pCommand, pRecordset, dan p Koneksi ion yang mewakili objek Command, Recordset, dan Koneksi ion yang digunakan oleh metode Execute.
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 peristiwa 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 acara Akan. Ini harus dilakukan. |
Jika Anda menentukan jika Operasi akan dilanjutkan, biarkan parameter Status tidak berubah. Selama parameter status masuk tidak diatur ke adStatusCantDeny, Anda dapat membatalkan operasi yang tertunda dengan mengubah Status menjadi adStatusCancel. Saat Anda melakukan ini, peristiwa Lengkap yang terkait dengan operasi memiliki parameter Status 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 dimunculkan karena lebih dari satu alasan. Dalam hal ini, Anda harus menentukan adStatusUnwantedEvent karena setiap kemungkinan alasan. 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. Saat 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 ion.
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 dilakukan 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 kemunculan 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 untuk setiap alasan. Setelah pemberitahuan terjadi sekali untuk 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 Peristiwa
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk