Hallo zusammen,
das gleiche Problem hatte ich auch.
Meine Lösung:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| DataSetSource.LoadFromFile(FileName);
CreateTable(DataSetSource); DataSetDest.CommandText := 'SELECT * FROM FileName WHERE 1=0'; DataSetDest.Open;
while NOT DataSetSource.Eof do begin DataSetDest.Insert;
for n := 0 to DataSetSource.Fields.Count - 1 do if NOT DataSetSource.Fields[n].IsNull then DataSetDest.Fields[n].Value := DataSetSource.Fields[n].Value; DataSetDest.Post;
DataSetSource.Next; end; end; |
Das ist allerdings
sehr langsam.
Ich habe schon probiert das "DataSetDest.Post" erst nach dem gesamten Durchlauf auszuführen, aber das hat auch keinen merklichen Unterschied gemacht.
Hat jemand einen Idee, wie man das Ganze etwas schneller hinbekommt?
Es müsste doch eine Möglichkeit geben über das Recordset Daten zu kopieren, oder nicht?
Alle Versuche in diese Richtung sind allerdings kläglich gescheitert.
Grüße
Peter