Delphi tarafındaki kodunuzu gördüğümde aklıma gelen bir kaç tavsiyeyi hemen ileteyim.
Her seferinde yeni bir connection oluşturup, her seferindee yeni bir treansaction oluşturup, her seferinde yeni bir SQL oluşturup (Query) oluşturup işlem yapmayın. Eğer Delphi kanadında böyle bir işlem yapacaksanız, sadece SQL komutu işleten IBX componentlerinde IBSQL adında (Hatta üzerinde yıldırım ikonu vardır) onu kullanın. Her seferinde yeni bağlantı oluşturmayın.
Halihazırda bir datamodulde veya benzeri bir yerde bir adet connection'ı sabit tutun. Ona da belli bir transaction nesnesini bağlayın.
Döngüyü kurarken şu şekilde kurun
Kod: Tümünü seç
.
.
IBSQL1.SQL.Text := 'UPDATE TBL_FALAN SET ALAN1 = :P1, ALAN2 = :P2 WHERE ALAN5 = :P3' ;
IBSQL.Prepare ;
for intI := 1 to 5000 do
begin
IBSQL1.Close ;
IBSQL1.ParamByName('P1').AsInteger := intI ;
IBSQL1.ParamByName('P2').AsString := strKarakterDegisken
IBSQL1.ParamByName('P3').AsInteger := intKeyAlanim
IBSQL1.ExecQuery ;
end ;
IBSQL1.Transaction.Commit ; // veya CommitRetaining
IBSQL1.Unprepare ;
.
.

Kolay Gelsin