Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 

Re: TStringlist nach ; splitten und in Interbase Speichern

  Alt 17. Jun 2004, 07:37
Hai Michael80,

dafür brauchst Du zwei StringListen. Dann kannst Du mit der Eigenschaft DelimitedText arbeiten.
In der ersten sind alle Zeilen aus deiner Datei. Der zweiten wird immer eine Zeile der ersten übergeben und endhält dann selber für jeden "Eintrag" eine Zeile. Mehr steht in der OH.

Delphi-Quellcode:
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
    mastersl.LoadFromFile('deinedatei.csv');
    for ndx := 0 to Pred (mastersl.Count) do
    begin
      detailsl.Clear;
      detailsl.DelimitedText := mastersl.Strings[ndx];
      with Query1 do
      begin
        Close;
        SQL.Text := 'INSERT INTO TABLE(FELD1, FELD2, FELD3) VALUES (:wert1,:wert2,:wert3)';
        ParamCheck := True;
        ParamByName('wert1').AsString := detailsl.Strings[0];
        ParamByName('wert2').AsString := detailsl.Strings[1];
        ParamByName('wert3').AsString := detailsl.Strings[2];
        ExecSQL;
      end;
    end;
  finally
    FreeAndNil (mastersl);
    FreeAndNil (detailsl);
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat