firebirdle programa geç girme problemi

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
droxee
Üye
Mesajlar: 86
Kayıt: 15 May 2009 04:29

firebirdle programa geç girme problemi

Mesaj gönderen droxee »

Kod: Tümünü seç

procedure Tfrm_sifre.FormActivate(Sender: TObject);
Var
dosya: TextFile ;
yol, DataTxYolu: string;
begin
DataTxYolu := ExtractFilePath(Application.ExeName);
DataTxYolu:= DataTxYolu + 'data.pth';
if DataModule_.IBDATABASE.Connected = True Then
Begin
DataModule_.IBDATABASE.Connected:= False;
End;

AssignFile(dosya,DataTxYolu);
{$I-}
Reset(dosya);
{$I+}
if IOResult = 0 then
begin
ReadLn(dosya,yol);
CloseFile(dosya);
Try
DataModule_.IBDatabase.DatabaseName :=yol;
DataModule_.IBDatabase.Params.Clear;
DataModule_.IBDatabase.Connected:= False;
DataModule_.IBDatabase.Params.Values['USER_NAME']:= 'SYSDBA';
DataModule_.IBDatabase.Params.Values['PASSWORD']:= 'masterkey';
DataModule_.IBDatabase.DefaultTransaction := DataModule_.IBTransaction1 ;
DataModule_.IBTransaction1.DefaultDatabase := DataModule_.IBDatabase ;
DataModule_.IBDatabase.LoginPrompt:= False;
DataModule_.IBDatabase.Connected:= True;

DataModule_.IBDataSet_Tip.Active:=True;
DataModule_.IBDataSet_Birlik.Active:=True;
DataModule_.IBDataSet_Bina.Active:=True;
DataModule_.IBDataSet_Oda.Active:=True;
DataModule_.IBDataSet_Marka.Active:=True;
DataModule_.IBDataSet_Model.Active:=True;
DataModule_.IBDataSet_Amac.Active:=True;
DataModule_.IBDataSet_Durum.Active:=True;
DataModule_.IBDataSet_Baglanti.Active:=True;
DataModule_.IBDataSet_Birim.Active:=True;
DataModule_.IBDataSet_Tur.Active:=True;
DataModule_.IBDataSet_Kullanici.Active:=True;
DataModule_.IBDataSet_Urun.Active:=True;
DataModule_.IBDataSet_Envanter.Active:=True;
DataModule_.IBDataSet_Tahsis.Active:=True;
Except
On exception do raise;
end;
end
else
begin
MessageDlg('data.pth dosyası bulunamadı.Program kapatılacak', mtWarning, [mbOk], 0);
Application.Terminate;
end;
end;
şeklinde firebird giriş ekranı öncesi table ları sisteme yüklüyorum fakat envanter tabloma 2500 kayıt import ettikten sonra açılış sürem 3dk yı buluyor.
yanlışı burada mı yapıyorum acaba?
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: firebirdle programa geç girme problemi

Mesaj gönderen freeman35 »

network gecikmeye sebep olabilir, bağladığın gridler vs control ler ilk kayıttan son kayıda kadar okuma yapıyor olabilir, tasarımınla alakalı muhtamelen.
DataModule_.IBDataSet_Tahsis.Active:=True; yerine uzun yazmak gereksiz, DataModule_.IBDataSet_Tahsis.Open; aynı işi yapar.
kullanılacak table ı sadece gerektiğinde açmak en mantıklısı, yani windows un yaptığı dalavare gibi yapılabilinir, program açılırken tablo açma her form açıldığında gereken tabloları aç
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
droxee
Üye
Mesajlar: 86
Kayıt: 15 May 2009 04:29

Re: firebirdle programa geç girme problemi

Mesaj gönderen droxee »

bir de söyle birsey var

Kod: Tümünü seç

//DataModule_.IBDataSet_Envanter.Active:=True;
kısmını göz ardı edersem 2 sn de açılıyo uygulamam.bu table 25 fielddan oluşuyo ve 10 tanesi field lookup şeklinde.bu sıkıntı yaratır mı?
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: firebirdle programa geç girme problemi

Mesaj gönderen freeman35 »

etkisi mutlaka var, lookup yerine join kullan
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla