Hallo,
Ich hab nun endlich wieder Zugriff auf meine Source gehabt und wollte euch noch zeigen, wie ich die Zeit massiv verkürzen konnte, in der die Dateien eingelesen werden.
tankards Vorschlag mit Transactions zu arbeiten war zielführend.
Zusätzlich habe ich den Insertpart durch AppendRecord ersetzt.
Falls ihr noch Verbesserungsvorschläge habt, wie ich die Zeit weiter verkürzen könnte, dann immer her damit.
Danke für eure Hilfe..
Delphi-Quellcode:
procedure TFRM_Main.ReadInInvA;
var
i, invasize:Integer;
invaaccessed, invacreated, invamodified:String;
created, accessed, modified:TDateTime;
begin
DB_Container.Directory := CXBE_InvDir.Text;
DB_Container.Open;
TBL_Container.DatabaseName := DB_Container.DatabaseName;
DB_Container.StartTransaction;
for i := 0 to SL.Count-1 do
begin
if GetFileTimes(CXBE_DbDir.Text+’\‘+SL[i], created, accessed, modified) then
begin
invaaccessed := DateTimeToStr(accessed);
invacreated := DateTimeToStr(created);
invamodified := DateTimeToStr(modified);
end;
invasize := GetFileSize(CXBE_DbDir.Text+’\’+SL[i]);
with TBL_Container do
begin
DatabaseName := DB_Container.DatabaseName;
TableName := invaname;
Open;
AppendRecord([null, SL[i], invacreated, invamodified, invaaccessed, invasize]);
Close;
end;
end;
DB_Container.Commit;
DB_Container.Close;
end;