Einzelnen Beitrag anzeigen

blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#25

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 7. Sep 2014, 21:37
Erneut external Dateien


Delphi-Quellcode:
procedure TForm1.btn3Click(Sender: TObject);
begin
  with IBQuery1 do
   begin
      Active:=False;
      sql.Clear;
      sql.Text := 'Create TABLE dat_ext external file''c:\externalTables\Tabelle2.txt''(feld001 char(50), FELD002 CHAR(250), crlf char(2) )';
      Active:=true;
      IBTransaction1.Commit;
   end;
end;
Dies ist der richtige Code für die Erstellung eines external Files, bestehend aus 2 Spalten von Strings.

Frage: Wie sieht der Code aus für 4 Spalten, bestehend aus 2 Spalten Strings, 1er Spalte Integer und 1er Spalte ID (Autoinc)?

Mittlerweile habe ich diesen fehlerhaften Code:
Delphi-Quellcode:
      sql.Clear;
      sql.Text := 'Create TABLE dat_ext external file''c:\db\import.txt''( checkbox integer ,name CHAR(50), bezeichnung CHAR(250), crlf CHAR(2) )';
      Active:=true;
      IBTransaction1.Commit;
      Active:=False;
      sql.Clear;
      sql.Text := 'Insert into Tabelle2 SELECT checkbox , name, bezeichnung from dat_ext ';
      Active:=true;
      IBTransaction1.Commit;
Soweit wie ich inzwischen weiß, wird die Spalte ID(Autoinc) erst nach dem Import der Daten ausgefüllt. Die Tabelle muß aber diese Spalte enthalten.

Code:
      sql.text := 'CREATE TABLE Tabelle2 (checkbox INTEGER, name VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE DE_DE, bezeichnung VARCHAR(250) CHARACTER SET ISO8859_1 COLLATE DE_DE , ID INTEGER)';
Fehler: da kann ich sagen siehe Beitrag #10
Kann Firebird externalFiles überhaupt mit Integer Feldern erstellen? Es sind viele teils widersprüchliche Ergebnisse zu finden, nur großteils Englisch.
Ich hoffe auf Eure Hilfe.
  Mit Zitat antworten Zitat