Einzelnen Beitrag anzeigen

skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

Tabellenstruktur schnell kopieren

  Alt 8. Nov 2018, 07:14
Datenbank: Foxpro SQlite • Version: ? • Zugriff über: Tadoquery, TFDQuery
Hallo,

ich möchte eine uralte Foxpro-Datenbank nach SQLite kopieren.

Mein Ansatz war so etwa:
Delphi-Quellcode:

var
queryoriginal: Tadoquery;
queryexport: TFDQuery;

....
  for f := 0 to queryoriginal.Fields.Count - 1 do
  begin
    ft := queryoriginal.Fields[f].DataType;
    fn := queryoriginal.Fields[f].FieldName;
    if not Assigned(queryexport.FindField(fn)) then
    begin
      SQL := 'ALTER TABLE Termine ADD ' + fn;
      case ft of
        ftString:
          SQL := SQL + ' TEXT';
        ftSmallint:
          SQL := SQL + ' INTEGER';
        ftInteger:
          SQL := SQL + ' INTEGER';
.....
        ftByte:
          SQL := SQL + ' INTEGER';
        ftExtended:
          SQL := SQL + ' FLOAT';
        ftSingle:
          SQL := SQL + ' FLOAT';
      else
        showmessage('Feldtyp nicht implementiert !');
      end; // case
      queryexport.SQL.Text := SQL;
      queryexport.ExecSQL;
    end; // Assigned
  end; // Fieldcount
Und dann Datensatz für Datensatz, Feld für Feld kopieren...

Gibt es da was schnelleres, was die Struktur (oder gleich die gesamte DB) kopiert?

Ciao
Stefan
  Mit Zitat antworten Zitat