Hello Jonathan, Terakhir saya telah coba cara spt ini : Saya buat table Flag dengan satu field (Flag juga ) isi dari field ini hanya 0 dan 1, jika bierisi 1 (Client B setelah save data yg mengupdate table flag menjadi 1) form akan direfresh dan isi field akan dikembalikan di 0. tapi saya masih kurang puas dengan cara seperti ini, masih makan resource besar. setiap saat masih harus mondar-mandir ke database untuk cek data saja. saya juga punya ide seperti anda, dengan menggunakan triger, tapi saya kesulitan untuk mengkap triger tersebut dari aplikasi yang saya buat. bagaimana ya... caranya delphi menangkap / menerima response triger tersebut...?????
Jonathan <[EMAIL PROTECTED]> wrote: Hello Erik, EH> saya mau membuat aplikasi database, misalnya ada 3 komputer EH> (A,B, dan C). komputer A dan B adalah client, sedangkan komputer C EH> dipakai database server. Client A menampilkan data report yang EH> diambil dari database server (Komputer C),misalnya ada 10 record, EH> Client B berisi aplikasi input data. EH> jika diinputkan suatu data dari Client B maka akan di save ke EH> database server (Komp. C). bagaimana caranya report pada Client A EH> datanya dapat berubah secara otomatis (menjadi 11 record), TANPA EH> user menyentuh komputer A tersebut????????????????????? EH> saya telah mencoba menggunakan thread yang akan merefresh EH> report tersebut (Client A) secara terus menerus setelah kurun EH> waktu tertentu. tapi teknik tersebut kurang bagus, apa ada yang EH> punya ide yang lebih ok....??? Bila memang databasenya memiliki feature untuk mentrigger event, mungkin bisa dimanfaatkan. Interbase dan firebird memiliki hal tsb, sehingga kita bisa membuat trigger pada table tertentu, kemudian dalam trigger tersebut akan menyalakan event, dimaka event tsb akan dibroadcast ke semua client yang terkoneksi ke server tsb. Implementasi detail saya tidak tahu karena saya sendiri tidak pernah menggunakannya. Untuk database yang lain saya kurang tahu. Cara lain adalah dengan metode pooling seperti yang sudah kamu lakukan. Mungkin bisa dioptimize sedikit supaya Client A tidak perlu merefresh report secara periodik. Buat sebuah table yang berisi informasi tgl+jam terakhir sebuah table diupdate (Untuk selanjutnya saya akan sebut table ini sebagai LastUpdateInfo). Table LastUpdateInfo ini cukup berisi 2 field : NamaTable dan LastUpdate(DateTime). Lalu buatlah trigger di table yang akan dimonitor, supaya setiap kali terjadi perubahan maka akan mengupdate field LastUpdate di table LastUpdateInfo. Jika databasenya tidak support trigger, berarti aplikasi di CLient B-lah yang bertanggung jawab untuk mengupdate LastUpdateInfo tsb. Nah client A secara periodik mencek isi dari LastUpdateInfo tsb. Bila LastUpdate ternyata lebih baru daripada tgl dan jam terakhir client A melakukan refresh, maka client A perlu melakukan refresh ulang. salam Jonathan L. ------------------------ Yahoo! Groups Sponsor ---------------------~--> Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511 http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/i7folB/TM ---------------------------------------------------------------------~-> Berlangganan: [EMAIL PROTECTED] Stop Berlangganan: [EMAIL PROTECTED] Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
