@Mavarik: Ja, Ich habe sowohl eine Connection zum
MSSQL-Server als auch zur SQLITE Datenbank.
ok das Ding mit dem Array ist eine Möglichkeit... Ich habe keine Verbindung zur Datenbank und erzeuge mir daher (wie ein Backup) fertige
SQL-Insert-String. So brauche keine 30 Zuweisungen, wenn meine Tabelle 30 Spalten hat...
Und dann mache ich es so:
Delphi-Quellcode:
SQLQuery.SQL.Text := '
BEGIN;';
SQLQuery.ExecSQL(true);
StatusProg('
',0.0,'
0.00%');
while not(SQLReader.eof)
do
begin
SQLReader.ReadSQLCrypt;
inc(Count);
if (Count
mod 100) = 0
then
StatusProg('
',100.0 / MaxSize * SQLReader.Position,FloattoStrF(100.0 / MaxSize * SQLReader.Position,ffFixed,7,2)+'
%');
DataLine := SQLReader.GetSQLBytes;
SQLQuery.SQL.Text := '
INSERT INTO '+FTableName+'
('+Felder+'
) VALUES (0,'+Dataline+PostFields+'
);';
try
SQLQuery.ExecSQL(false);
except
StatusProg('
EXCEPTION',0,'
');
end;
end;
StatusProg('
',100.0,SIndexWait);
SQLQuery.SQL.Text := '
COMMIT;';
SQLQuery.ExecSQL(true);
SQLConnection.Close;
finally
ArcFree(SQLReader,'
SQLReader');
end;