--- Jonathan <[EMAIL PROTECTED]> wrote:
> Hello Wini,
>
> Tuesday, November 11, 2003, 8:04:22 PM, you wrote:
>
> WH> ---------------
> WH> procedure TForm1.Button1Click(Sender: TObject);
> WH> begin
> WH> ADOConnection.BeginTrans
> WH> end;
>
> WH> procedure TForm1.Button2Click(Sender: TObject);
> WH> begin
> WH> tbCustomer.Active:=True;
> WH> tbCustomer.Append;
> WH>
> tbCustomer.FieldByName('no_Cust').AsString:='A001';
> WH> tbCustomer.Post;
> WH> tbCustomer.Edit;
> WH> end;
>
> WH> procedure TForm1.Button3Click(Sender: TObject);
> WH> begin
> WH> ADOConnection.CommitTrans;
> WH> end;
> WH> ------------------
>
> WH> Locking terjadi pada saat button2 kita click.
> WH> (jika kita melakukan proses SELECT)
>
> WH> Saya udah coba mainkan di Locking type, keyset,
> dsb
> WH> ga bisa.
>
> Dari potongan di atas, sepertinya kamu membuat
> lamanya transaction dari
> database tergantung pada user interface. Ini
> seharusnya dihindari,
> dugaan saya lock terjadi karena sekalipun kamu sudah
> mempost dataset,
> tetapi transactionnya masih berjalan (belum di
> commit) sehingga record
> tsb tetap dalam keadaan lock. Apalagi bila ternyata
> user mengedit
> beberapa record sekaligus, maka yang terjadi mungkin
> bukan lagi record
> lock, tetapi page lock.
>
> Coba dirubah mekanisme editingnya. Transaction
> diusahakan sesingkat
> mungkin, dalam satu block :
> BeginTrans
> try
> ... do some editing here....
> committrans
> except
> RollbackTrans
> end;
>
>
> salam
>
> Jonathan L.
Terima Kasih untuk tanggapan rekan-rekan sekalian,
Saya coba kasih penjelasan lebih detail untuk
saya bisa "dicerahkan" lagi:)
Hi Wiliam IT,
Maksud locking contohnya pada saat posisi button2
di click, yaitu pada saat berada dalam keadaan Edit,
makan tabel yang sedang kita lakukan proses Editing
tersebut tidak akan bisa di akses lewat manapun
juga, baik itu dari user lain, maupun dari Query
Analyzer(Untuk MS SQL) sampai Button3 kita
click(CommitTrans ataupun RollbackTrans), tapi jika
menggunakan database
Access select tersebut(mis : dg "SQL Explorer") bisa
dilakukan.
Untuk Struktur PK dan FK saya rasa ga begitu
bermasalah.
Hi Jonathan L,
memang benar ke-3 proses tersebut sedapat mungkin
dilakukan dalam 1 event
BeginTrans
try
... do some editing here....
committrans
except
RollbackTrans
end;
Untuk memperjelas mungkin saya akan jelaskan yang saya
inginkan.
Saya mempunyai 2 Form, Form1 berisi Grid, pada
Form1 ini terdapat button AddRecord, pada waktu
AddRecord ini kita click, saya akan lakukan
BeginTrans kemudian ShowModal Form2,
Jika ModalResult untuk Form2 =mrOK maka
saya lakukan CommitTrans, kalau mrCancel saya lakukan
RollbackTrans.
Kalau dari petikan program seperti diatas sepertinya
sulit dilakukan. Ada ide lainnya ?
Untuk Mas Sugi, saya akan coba pake TADODataset,
Thanks ALL
__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
------------------------ 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/