Merhaba,
Kullandığınız veritabanını bildirmemişsiniz. Kullanılan veritabanına göre iletişimde paket sıkıştırma özelliği kullanarak işlemi bir nebze hızlandırmanız mümkün olabilir.
Kullandığınız bileşenleri bildirmemişsiniz. Bununla birlikte kayıt işlemlerini Append-Post kullanarak değil, INSERT SQL kullanarak yapmanızda fayda var. Append-Post işlemi veritabanı sunucusunda bilgim dahilinde kursör kullanır ve INSERT SQL'e göre çok yavaş çalışır.
UniDAC için harici bir geri değer çevirmeyen sadece sunucuda işlem çalıştıran TUniSQL bileşeni kullanarak parametrik olarak kayıt ekleme yapabilirsiniz.
Kod: Tümünü seç
insert into anatablo(tcno,adsoyad,gorev,gorevyeri,gorevyeriilce,gorevlendirildigikurum,gorevlendirildigikurumilce,gorevlendirildigikadro,gorevlendirmeturu,gorevlendirmeonaytarihi,gorevlendirmeonaysayisi,gorevlendirmesuresi,unvan,hatirlatmagunay,islemtarihsaat,kullanicibilgisayar,onayturu,ustyazitarihi,ustyazisayisi,yandal,onaybitistarihi,onaybitissayi)
values(:tcno,:adsoyad,:gorev,:gorevyeri,:gorevyeriilce,:gorevlendirildigikurum,:gorevlendirildigikurumilce,:gorevlendirildigikadro,:gorevlendirmeturu,:gorevlendirmeonaytarihi,:gorevlendirmeonaysayisi,:gorevlendirmesuresi,:unvan,:hatirlatmagunay,:islemtarihsaat,:kullanicibilgisayar,:onayturu,:ustyazitarihi,:ustyazisayisi,:yandal,:onaybitistarihi,:onaybitissayi)
Buna benzer bir SQL ifadesini TUniSQL.SQL içine kayıt edip kodunuzda atamaları parametrelere yaparak kullanabilir.
Kod: Tümünü seç
datamodulum.YeniKayit.ParamByName('TCNO').AsString := TCNOTXT.Text;
datamodulum.YeniKayit.ParamByName('ADSOYAD').AsString := ADSOYADtXt.Text;
datamodulum.YeniKayit.ParamByName('GOREV').AsString := gorevitxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVYERI').AsString := gorevyeritxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVYERIILCE').AsString := gorevyeriilcetxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRILDIGIKURUM').AsString := gorevlendirildigikurumtxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRILDIGIKURUMILCE').AsString := gorevlendirildigiilcetxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRILDIGIKADRO').AsString := gorevlendirildigikadrotxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRMETURU').AsString := gorevlendirmeturutxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRMEONAYTARIHI').AsString := onaytarihitxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRMEONAYSAYISI').AsString := onaysayisitxt.Text;
datamodulum.YeniKayit.ParamByName('GOREVLENDIRMESURESI').AsString := gorevlendirmesuresitxt.Text;
datamodulum.YeniKayit.ParamByName('UNVAN').AsString := unvantxt.Text;
datamodulum.YeniKayit.ParamByName('HATIRLATMAGUNAY').AsString := aymigunmu.Text;
datamodulum.YeniKayit.ParamByName('ISLEMTARIHSAAT').AsDateTime := DateUtils.RecodeMilliSecond(Now, 0);
datamodulum.YeniKayit.ParamByName('KULLANICIBILGISAYAR').AsString := anaform.Label14.Caption;
datamodulum.YeniKayit.ParamByName('ONAYTURU').AsString := ONAYTURUTXT.Text;
datamodulum.YeniKayit.ParamByName('USTYAZITARIHI').AsString := ustyazitarihitxt.Text;
datamodulum.YeniKayit.ParamByName('USTYAZISAYISI').AsString := ustyazisayisitxt.Text;
datamodulum.YeniKayit.ParamByName('YANDAL').AsString := yandaltxt.Text;
datamodulum.YeniKayit.ParamByName('ONAYBITISTARIHI').AsString := gorbitonaytarihi.Text;
datamodulum.YeniKayit.ParamByName('ONAYBITISSAYI').AsString := gorbitonaysayi.Text;
datamodulum.YeniKayit.Execute();
Ekranda gösterdiğiniz tabloda sadece tazeleme (refresh) yaparak yeni kaydı gösterebilirsiniz.
NOT: Performans için YeniKayit.ParamByName() yerine YeniKayit.Params[0], YeniKayit.Params[1] şeklinde kullanmanız gerekir. Örneğin kolay anlaşılabilmesi açısından ParamByName() kullanımı gösterilmişir.