Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#15

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 17:49
@Perlsau
Also in Datei Tabelle2.txt steht meine originale TestTabelle.
In Tabelle2export.txt ist die External Tabelle als Insert statement.(von IBExpert exportiert)
Ich hoffe es hilft dir weiter.
Wo in der exportierten Tabelle allerdings die Kommas herkommen wird wohl ein Geheimnis von Firebird bleiben. Ich vermute mal, daß sollen die ominösen Trennzeichen sein, welche nicht in der Original Datei vorhanden sind.
Wenn ich mir die originale Tabelle anschaue, komme ich zu dem Schluß, daß es sich um eine ganz normale Textdatei handelt. Die erste Spalte ist immer 50 Zeichen lang, die zweite geht bis zum Linebreak. Da böte es sich doch an, diese Textdatei via Stringliste einzulesen, danach durchzuiterieren und dabei die jeweils ersten 50 Zeichen jedes Items als Inhalt der Spalte 1 (Fremdwort) zu kopieren. Der Rest ist die Beschreibung des Fremdworts (ungetestet, daher ohne Garantie):
Delphi-Quellcode:
Procedure Einlesen;
Var
  MeineListe : TStringList;
  Datei,
  Fremdwort,
  Beschreibung : String;
  i,z : Integer;

Begin
  If not OpenDialog.Execute then exit;
  Datei := OpenDialog.FileName;
  MeineListe := TStringList.Create;

  Try
    MeineListe.LoadFromFile(Datei);
    z := MeineListe.Count;

    If z > 0 then
    For i := 0 to z-1 DO
    Begin
      Beschreibung := Liste[i];
      Fremdwort := Trim(Copy(Beschreibung,1,50);
      Delete(Beschreibung,1,50);

      DatenModul.Dataset.Append;
      DatenModul.Dataset.FieldByName('FREMDWORT').AsString := Fremdwort;
      DatenModul.Dataset.FieldByName('BESCHREIBUNG').AsString := Beschreibung;
      DatenModul.Dataset.Post;
    End;
  Finally
    MeineListe.Free;
  End;

  ShowMessage('Einlesen von "' + Datei + '" beendet ...');
End;
In der Original-Textdatei kommen etliche Kommas vor. Wenn die als Trennzeichen fungieren, kann das natürlich nicht klappen.

Wie hattest du denn mit IbExpert die externe Datei eingebunden?
  Mit Zitat antworten Zitat