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