Post Event pada Interbase dan Firebird

Posted by

Seringkali dalam membuat aplikasi mengalami hal seperti ini (biasanya pada kasus aplikasi client server). Ada 2 aplikasi yang jalan secara bersamaan misal A dan B, dimana jika A melakukan transaksi maka B bisa langsung terupdate secara realtime tanpa mengeklik tombol Refresh. Nah biasanya pada kasus seperti ini masih ada yang menggunakan tombol Refresh atau Timer untuk merefresh Datasetnya. Berikut ini merupakan jawaban untuk kasus tersebut.

POST_EVENT
Posting sebuah event untuk event manager. Ketika suatu proses terjadi (misal proses insert update delete), pernyataan ini akan memberitahu event manager, yang mana memperingatkan aplikasi untuk menunggu nama eventnya. Post event ini sifatnya CASE SENSITIVE, jadi penulisan huruf besar kecilnya harus sama saat membuat dan saat memanggil event tersebut. Kalo ane bilang ini post_event ibarat trigger disisi aplikasi :D

Dalam kasus ini khususnya bagi para pengguna Delphi dengan database Firebird atau Interbase, karena pada database yang lain ane belum tau udah ada fitur post_event apa belum.

Sudah ane praktekan menggunakan Delphi databasenya Interbase komponen FIBPlus (recomended) pada jaringan lokal dan jaringan via Hamachi. Tool yang digunakan untuk mengolah databasenya adalah IBExpert (recomended).

Langsung saja pada contoh ane buat database DATA.IB dengan satu tabel yaitu tabel MHS, kemudian ane buat TRIGGER dan POST_EVENT dengan nama refresh pada tabel MHS After Insert, After Update, dan After Delete seperti gambar berikut.


Kemudian desain tampilan aplikasi menggunakan komponen FIBPlus, kira-kira seperti berikut.



Pada komponen EventAlert tambahkan nama Event nya, ingat besar kecil nama event harus sama.


Double klik pada komponen EventAlert atau pada Object Inspector Event OnEventAlert, kemudian ketikan kode berikut.


Nah ini screen shot hasil ujicoba pada jaringan via Hamachi, PC Server di Semarang, PC Client di Boyolali. Pada saat transaksi dilakukan di PC Client maka di PC Server tak perlu melakukan refresh secara manual atau pake timer, karena sudah dipicu dengan post event tadi.


Thanks buat Pak Imam Chalimi yang telah mengajarkan teknik post event ini, dan Mas Endra Wijaya yang bersedia membantu dalam uji coba aplikasi..


Blog, Updated at: 10:54 AM

6 comments: