procedure TForm1.Button1Click(Sender: TObject);
var
masterSL : TStringList;
detailSL : TStringList;
ndx : Integer;
// Laufvariable für Master
begin
masterSL := TStringList.Create;
// Master StringList
detailSL := TStringList.Create;
// Detail StringList
try
detailSL.Delimiter := '
;';
// Trennzeichen der Einträge pro Zeile
detailSL.QuoteChar := '
"';
// Quoting Zeichen.
masterSL.LoadFromFile('
C:\KUNDENSTAMM.txt');
for ndx := 0
to Pred (mastersl.Count)
do
begin
progressbar1.Position := ndx;
//<------------------------------------------
detailsl.Clear;
detailsl.DelimitedText := '
"' + StringReplace(mastersl.Strings[ndx],'
;','
";"',[rfReplaceAll]);
//detailsl.savetofile('c:\test.txt');
while detailsl.Count < 11
do detailsl.Add('
');
with IBQuery1
do
begin
Close;
SQL.Text := '
INSERT INTO KUNDENSTAMM(KDNR, ANREDE, VORNAME, NACHNAME, ZUSATZ, STRASSE,ORTSTEIL,PLZ,ORT,TELEFON,TELEFAX) VALUES (:wert1,:wert2,:wert3,:wert4,:wert5,:wert6,:wert7,:wert8,:wert9,:wert10,:wert11)';
ParamCheck := True;
ParamByName('
wert1').AsInteger := strtoint(detailsl.Strings[0]);
ParamByName('
wert2').AsString := detailsl.Strings[1];
ParamByName('
wert3').AsString := detailsl.Strings[2];
ParamByName('
wert4').AsString := detailsl.Strings[3];
ParamByName('
wert5').AsString := detailsl.Strings[4];
ParamByName('
wert6').AsString := detailsl.Strings[5];
ParamByName('
wert7').AsString := detailsl.Strings[6];
ParamByName('
wert8').AsString := detailsl.Strings[7];
ParamByName('
wert9').AsString := detailsl.Strings[8];
ParamByName('
wert10').AsString := detailsl.Strings[9];
ParamByName('
wert11').AsString := detailsl.Strings[10];
ExecSQL;
end;
IBTransaction1.Commit;
end;
finally
FreeAndNil (mastersl);
FreeAndNil (detailsl);
end;
end;