Hal paling vital dalam sebuah program database adalah bahwa setiap data dapat tersimpan dengan sempurna.
Aplikasi desktop tidak banyak masalah untuk menangani hal ini. Namun seringkali jika aplikasi yang berjalan dalam jaringan atau internet, seringkali gagal menangani hal ini. Misalnya ada sebuah tombol simpan didalamnya mengeksekusi 7 buah perintah sql update, kadangkala hanya sebagian perintah sql yang dapat tereksekusi jikalau jaringan sedang bermasalah. Sehingga program menjadi error. Dan datanya tidak sinkron.
Bagaimanakah solusinya? jika kita menggunakan Delphi. Gunakan transact Sql. Yang mendukung transact sql adalah database mysql4 keatas, sql server, oracle dsb. Tidak semua database mendukung transact sql.
Transact SQL menjamin sekumpulan sintak sql tereksekusi, tetapi jikalau salah satu gagal maka sintak sql tersebut digagalkan semua, sehingga keadaan data masih sinkron.
Contoh sintak di delphi
if not dm1.Database1.InTransaction then dm1.Database1.StartTransaction;
try
//perintah sql
dm1.Database1.Commit;
except
qryrec.CancelUpdates;
dm1.Database1.Rollback;
raise;
Showmessage('Maaf Proses penyimpanan Gagal');
exit;
end;
Selamat mencoba bagi yang belum mencoba
Tidak ada komentar:
Posting Komentar