Arsip: Pls Mohon Bantuan, Data Tidak Tersimpan Karena ROLLBACK

more 13 years ago
hendrang
Mohon bantuannya yang jago-jago Delphi.
Saya sedang buat program sederhana untuk entry DAFTAR BARANG (field KODEBARANG,NAMA,HARGA) dengan Database MICROSOFT ACCESS.
Saya sengaja buka file dengan locktype ltBatchOptimistic karena mau tahu cara kerjanya.
Di table Daftar Barang field Harga saya kasih validasi Rule" <>0 " untuk validasi harga harus diisi (tidak boleh kosong atau tidak diisi).
Untuk Save saya pakai procedure :
Procedure Save;
ADOConnection1.BeginTrans;
try try
DaftarHarga.UpdateBatch();
Except
On E:Exception do
ShowMessage(E.Message);
end;
finally
if ADOConnection1.Errors.Count = 0 then
ADOConnection1.CommitTrans;
else
ADOConnection1.RollbackTrans;
end
Ini adalah prosedur standar yang saya baca di buku-buku ttg procedure save untuk table yang locktype ltBatchOptimistic. Jadi kalau misalnya di antara data yang di entry ada yang harga tidak diisi maka akan muncul error message dan di ROLLBACK.
Misalnya table daftar barang masih kosong dan saya tambah 10 record barang baru dan record ke 5 saya isi 0 lalu save maka akan muncul error message dan data tidak bisa di save.
Masalahnya adalah kenapa setelah saya perbaiki kesalahan dengan isi harga di record ke 5 dan saya save ulang maka hanya record ke 5 yang tersimpan sedangkan yang lainnya tidak tersimpan.
Kalau saya hapus ADOConnection1.RollbackTrans di prosecedure Save, semua data bisa tersimpan pada save yang ke 2 kalinya. Sedangkan ADOConnection1.RollbackTrans tetap harus dipakai karena kalau tidak bisa menyebabkan FILE LOCK saat ada user lain yang juga sedang entry daftar barang di work station lain.
Mohon bantuan bagaimana mengatasi masalah ini.

more 13 years ago
hendrang
Trims ada tanggapannya.
Apa maksud mas dengan "konsidi nya ada kesalahan"?
Permasalahannya setelah saya baca ttg cara kerja ROLLBACK/COMMIT adalah setelah di ROLLBACK /COMMIT maka cache memory yang berisi data-data yang di entry itu langsung di tandai sebagai data yang sudah diproses, jadi tidak bisa di update ulang. Kecuali saya bisa mengubah kondisi (flag) dari data-data itu sebagai data yang belum di proses pada saat ROLLBACK.
Untuk sementara karena belum bisa memecahkan masalah ini saya tidak ROLLBACK pada saat ada error kecuali user membatalkan data itu.

more 13 years ago
DelphiExpert
Procedure Save;
begin
ADOConnection1.BeginTrans;
try
DaftarHarga.UpdateBatch();
ADOConnection1.CommitTrans;
except
On E:Exception do
begin
ADOConnection1.RollbackTrans;
ShowMessage(E.Message);
end;
end;
end;
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
- Makna Pascal di Pascal Indonesia
- Kulgram : Instalasi Lazarus di Perangkat Berbasis ARM
- PascalClass #1: Analisa Database dan Machine Learning
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
- Mengenal OXYGENE – Pascal For .NET
- PascalTalk #5: UX: Research, Design and Engineer
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 months ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 1 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 8 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 8 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 8 years ago
Random Topic
- Report Builder Enterprise Export ke Excel
by IdrisZZ in Reporting more 12 years ago - Nanya : Koneksi Ado Dan Ms Access
by tox2wow in Hal umum tentang Pascal Indonesia more 15 years ago - pembulatan ratusan
by vera in Tip n Trik Pemrograman more 11 years ago - Masalah TIME
by coacoac in Tip n Trik Pemrograman more 13 years ago - Blocks World Architecture
by sedotin in Tutorial & Community Project more 12 years ago - Dimana ya bisa belajar tt struktur file ?
by jancky in Tip n Trik Pemrograman more 13 years ago - pngen nanya dunk !
by jajang in Lain-lain more 12 years ago - validasi tanggal di TmaskEdit __/__ /___
by maulaku in Tip n Trik Pemrograman more 13 years ago - SQL statement untuk quickreport !
by defran_raja in MySQL more 11 years ago - aplikasi untuk mengetahui sebuah exe didevlop pake apa
by bosenjadiprogrammer in Enginering more 13 years ago