xp işletim sistemi
E8400 3,0 GHZ
4 GB RAM
Delphi7
Firebird 2,1 sürümü
Ustalar, sorunum eski programdan yeni programa verileri aktarma. Master tablo ve detay tablolarım var. Master tabloda yaklaşık 20 000 kayıtta verileri aktarımda önce out of memory hatasını yaşamıştım ama arayüzde bulunan gridlerin bağlantısını kesince işlemi tamamladım. sıra detay tablolara geldi,
detay tablomda toplam 70857 kayıt var. kullandığım aktarım kodu;
Kod: Tümünü seç
try
Screen.Cursor := crHourGlass;
dm.eskidelilibqry.First;
dm.YenidelilIBDSet.DisableControls;
while not dm.eskidelilibqry.Eof do
begin
jvprogressbar2.Position:=jvprogressbar2.Position+1;
dm.YeniDelilIBDSet.insert;
dm.YeniDelilIBDSet.FieldByName('OLYID').AsInteger:=dm.eskidelilibqry.fieldbyname('OLAYID').AsInteger;
dm.YeniDelilIBDSet.FieldByName('ILKODU').AsInteger:=0;
dm.YeniDelilIBDSet.FieldByName('ILCEKODU').AsInteger:=0;
dm.YeniDelilIBDSet.FieldByName('YIL').asinteger:=dm.eskidelilibqry.fieldbyname('OLAYYILI').asinteger;
dm.YeniDelilIBDSet.FieldByName('RAPORNO').AsInteger:=dm.eskidelilibqry.fieldbyname('RAPORNO').AsInteger;
dm.YeniDelilIBDSet.FieldByName('EKRAPORNO').AsInteger:=dm.eskidelilibqry.fieldbyname('EKRAPORNO').AsInteger;
dm.YeniDelilIBDSet.FieldByName('INCELEMETARIH').AsDateTime:=dm.eskidelilibqry.fieldbyname('INCTARIHI').AsDateTime;
dm.YeniDelilIBDSet.FieldByName('BULGUNO').AsString:=dm.eskidelilibqry.fieldbyname('DELILNO').AsString;
dm.YeniDelilIBDSet.FieldByName('BULGUNUNTANIMI').AsString:=dm.eskidelilibqry.fieldbyname('DELILTANIMI').AsString;
dm.YeniDelilIBDSet.FieldByName('TESPITYERI').AsString:=dm.eskidelilibqry.fieldbyname('TESPITYERI').AsString;
dm.YeniDelilIBDSet.FieldByName('PARMAKIZI').AsString:=dm.eskidelilibqry.fieldbyname('PARMAKIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('AVUCIZI').AsString:=dm.eskidelilibqry.fieldbyname('AVUCIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('AYAKIZI').AsString:=dm.eskidelilibqry.fieldbyname('AYAKIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('VUCUTIZI').AsString:=dm.eskidelilibqry.fieldbyname('VUCUTIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('BIYOMETRI').AsString:=dm.eskidelilibqry.fieldbyname('BIYOMETRI').AsString;
dm.YeniDelilIBDSet.FieldByName('VIGLAB').AsString:=dm.eskidelilibqry.fieldbyname('VIGLAB').AsString;
dm.YeniDelilIBDSet.FieldByName('BALISTIK').AsString:=dm.eskidelilibqry.fieldbyname('BALISTIK').AsString;
dm.YeniDelilIBDSet.FieldByName('KIMYASAL').AsString:=dm.eskidelilibqry.fieldbyname('KIMYASAL').AsString;
dm.YeniDelilIBDSet.FieldByName('BIYOLOJIK').AsString:=dm.eskidelilibqry.fieldbyname('BIYOLOJIK').AsString;
dm.YeniDelilIBDSet.FieldByName('AYAKKABIIZI').AsString:=dm.eskidelilibqry.fieldbyname('AYAKKABIIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('ALETIZI').AsString:=dm.eskidelilibqry.fieldbyname('ALETIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('LASTIKIZI').AsString:=dm.eskidelilibqry.fieldbyname('LASTIKIZI').AsString;
dm.YeniDelilIBDSet.FieldByName('DIGERIZBULGU').AsString:=dm.eskidelilibqry.fieldbyname('DIGERIZBULGU').AsString;
dm.YeniDelilIBDSet.FieldByName('IZINCELEME').AsString:=dm.eskidelilibqry.fieldbyname('IZINCELEME').AsString;
dm.YeniDelilIBDSet.FieldByName('BELGE').AsString:=dm.eskidelilibqry.fieldbyname('BELGE').AsString;
dm.YeniDelilIBDSet.FieldByName('SESDATA').AsString:=dm.eskidelilibqry.fieldbyname('SESDATA').AsString;
dm.YeniDelilIBDSet.FieldByName('PALINOLOJIK').AsString:=dm.eskidelilibqry.fieldbyname('PALINOLOJIK').AsString;
dm.YeniDelilIBDSet.FieldByName('ENTOMOLOJIK').AsString:=dm.eskidelilibqry.fieldbyname('ENTOMOLOJIK').AsString;
dm.YeniDelilIBDSet.FieldByName('LABIZVAR').AsString:=dm.eskidelilibqry.fieldbyname('LABIZVAR').AsString;
dm.YeniDelilIBDSet.FieldByName('LABIZYOK').AsString:=dm.eskidelilibqry.fieldbyname('LABIZYOK').AsString;
dm.YeniDelilIBDSet.FieldByName('LABSONUC').AsString:=dm.eskidelilibqry.fieldbyname('LABSONUC').AsString;
dm.YeniDelilIBDSet.Post;
dm.eskidelilibqry.Next;
end;
finally
showmessage('Veri Aktarım İşlemi Tamamlandı');
Screen.Cursor := crDefault;
dm.YenidelilIBDSet.EnableControls;
end;