Arsip: refresh per menit

 
user image
more 14 years ago

javaman

Hallo semua, sorry aku tanya2 lagi, aku udah search diforum ini sepertinya belum pernah ada, pernah dibahas tapi ndak komplit http://www.delphi-id.org/dpr/PNphpBB2-viewtopic-t-1224-highlight-refresh.pas yang aku tanyakan adalah bagaimana cara agar form kita bisa refresh tiap beberapa menit sesuai dengan yang kita inginkan, terima kasih sebelumnnya
user image
more 14 years ago

irosyidi

mo ngrefresh apa mas??? form ato data di database tinggal kasih timer aja:: kalo refresh form tinggal kasih command :: invalidate kalo refresh
user image
more 14 years ago

EkoIndri

kalau memang tujuan refresh untuk melihat perubahan data, maka mending menggunakan UDP biar g membebani kerja prosesor atau mas juga bisa menggunakan DCOM.
user image
more 14 years ago

portege

Form1.Refresh?
user image
more 14 years ago

widi

gabungin irosyidi ama portege :D gimana kalau buat ttimer dengan perintahnya form1.refresh btw mas ekoindri, UDP and DCOM itu apa yach?makasih
user image
more 14 years ago

javaman

@irosyidi makacih mas, ada contoh source codenya nggak ? @EkoIndri UDP sama Dcom apa ya mas ? maaf masih awam @portege udah tak coba mas, tapi refres trus, tapi ini yang pakai waktu. jadi tiap2 berapa detik/menit refresh trus update data to All makacih
user image
more 14 years ago

widi

Tadi aku baru coba program simpleee banget, malu sich sebenarnya, tapi semoga bisa buat ide dech. aku pakenya timer. n intervalnya 60000/1 menit . terus di events on timer cuma kukasih coding form1.refresh. jadi dech. tapi kalaujavaman pakenya intervalnya variabel, bisa beberapa menit, aku belum tahu, karena sepengetahuanku(dulu) aku pernah coba, timer cuma bisa maksimal beberapa menit saja(aku lupa persisnya). silakan ditambahkan dunk yang bisa, makasih
user image
more 14 years ago

amyra

Napa Form mesti sering-sering di refresh? apa ndak membebani program nih! Coba di review lagi, fungsinya buat apa?!
user image
more 14 years ago

EkoIndri

@amyra
udah tak coba mas, tapi refres trus, tapi ini yang pakai waktu. jadi tiap2 berapa detik/menit refresh trus update data
buat update data kalau g salah
user image
more 14 years ago

eksant

panjang ga papa ya... Tidak berhasilnya suatu record direfresh karena server tidak menemukan data atas request yang diminta. Hal ini disebabkan field yang nilainya dimanipulasi atau diisikan secara otomatis oleh trigger tersebut, juga termasuk dalam klausa filtering RefreshSQL, sedangkan nilai dari field tersebut belum diterima oleh client karena diproses secara server-side. Refresh Record di InterBase/FireBird Contoh berikut akan mencoba menjelaskannya: [code:1:ea63b05446]CREATE GENERATOR gen_karid; CREATE TABLE karyawan( karid integer not null, namalengkap varchar(48) not null, nip varchar(32) not null unique, constraint karyawanpk primary key(karid) ); CREATE TRIGGER karyawantrgi FOR karyawan ACTIVE BEFORE INSERT POSITION 0 AS BEGIN / Cek value karid apakah null atau tidak. Kode ditambahkan oleh eksa / IF (NEW.karid IS NULL) THEN NEW.karid = GEN_ID(gen_karid); END;[/code:1:ea63b05446] Kemudian SQL Statement yang didefinisikan dalam TIBDataset.RefreshSQL adalah sebagai berikut:
SELECT karid, namalengkap, nip

FROM karyawan 

WHERE karid = :karid AND

namalengkap = : namalengkap AND

nip = :nip;

/ ataupun  /

SELECT karid, namalengkap, nip

FROM karyawan

WHERE karid = :karid; 

/ field karid sebagai primary key  /
Masalah yang terjadi, setelah proses inserting nilai field karid tidak muncul karena nilai field tersebut diisikan secara server-side oleh trigger, oleh karena itu untuk menampilkannya maka cache di client atas record tersebut harus direfresh. Di IBX hal ini bisa dilakukan secara otomatis dengan menset TIBDataset.ForcedRefresh := True, ataupun secara manual memanggil TIBDataset.Refresh setelah proses inserting. Tetap tidak validnya suatu record setelah proses manipulasi walaupun telah memanggil fungsi refresh disebabkan nilai field yang disertakan pada klausa filtering dalam SQL statement TIBDataset.RefreshSQL belum diterima oleh client karena nilainya diisikan secara server-side oleh trigger. Masalah tersebut dapat dipecahkan dengan mengganti field karid ataupun field lain yang nilainya digenerate secara otomatis secara server-side dalam klausul WHERE pada definisi SQL statement untuk RefreshSQL. Dalam contoh di atas, field nip merupakan field yang sifatnya unik untuk tiap-tiap recordnya. Disebabkan InterBase/FireBird secara otomatis sudah mengindex field ini saat menambahkan UNIQUE dalam statement CREATE TABLE sebelumnya, maka field bisa digunakan untuk mengganti filter field pada RefreshSQL dengan tanpa mengorbankan optimalitas performa, contoh:
SELECT karid, namalengkap, nip

FROM karyawan

WHERE nip = :nip;
Jika tidak ada field lain yang bisa dijadikan alternatif, maka biasanya IBX akan mencoba memasukkan semua field yang ada dalam tabel tersebut dalam klausul WHERE-nya. Semakin banyak jumlah field yang terdapat dalam sebuah tabel, maka kemungkinan mendapatkan record unik semakin besar, akan tetapi tidak demikian sebaliknya. Dari sisi server tentu semakin memberatkan karena semakin banyak field yang disertakan, maka semakin besar pula kemungkinan server harus melakukan sorting bertingkat untuk setiap fieldnya. Cara lainnya adalah dengan memanipulasi manual dari sisi client, dalam hal ini melepaskan penggunaan trigger dalam memanipulasi nilai field karid yang bisa diselesaikan dengan memanfaatkan event TIBDataset.BeforePost. Berikut ini contohnya: [code:1:ea63b05446]function TfrmMain.GetNextGenID(AGenName: string): variant; var Query: TIBQuery; begin Result := null; if (not IBDatabase.Connected) or (length(AGenName) = 0) then exit; Query := TIBQuery.Create(self); Query.Database := IBDatabase; Query.Transaction := IBDatabase.DefaultTransaction; Query.SQL.Text := Format('SELECT GEN_ID(%s, 1) FROM RDB$DATABASE', [AGenName]); try try Query.Open; Result := Query.Fields[0].Value; Except; end; finally FreeAndNil(Query); end; end; { ... } procedure TfrmMain.IBDatasetBeforePost(DataSet: TDataSet); begin if (IBDataset.State = dsInsert) then IBDatasetKARID.AsVariant := GetNextGenID('gen_karid'); end;[/code:1:ea63b05446] Mungkin contoh ini yang dimaksud...
more ...
  • Pages:
  • 1
  • 2
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com