Zitat von
Spider:
Das Problem ist, dass nach dem einfügen der Parameter, die Parameter nicht verändert werden.
Will heißen, im tmp ([1]) steht noch der
SQL-Befehl, ohne die veränderten Parametern.
Vielleicht verwende ich das auch falsch
Das was du machst paßt schon. der String in
profilequery.SQL.text darf ja auch nicht verändert werden sonst könnte er nicht mehr für weitere Abfragen verwendet werden und damit wäre ein Verwendung von Prepared Statements nicht möglich.
Folgende Codeanpassung dürfte die Inserts um einiges beschleunigen
Delphi-Quellcode:
profilequery.SQL.Text := 'INSERT INTO profile (user, password, domain, desc) ' +
'VALUES (:user, :pw, :domain, :desc)';
profilequery.Prepare;
for I := 0 to Count - 1 do
begin
p := Items[I];
with profilequery.Parameters do
begin
ParamByName('user').Value := p.Benutzername;
with TCipher_Rijndael.Create(PW, nil) do
begin
ParamByName('pw').Value := EncodeString(p.Passwort);
end;
ParamByName('domain').Value := p.Domain;
ParamByName('desc').Value := p.Beschreibung;
end;
profilequery.ExecSQL;
end;
Windows Vista - Eine neue Erfahrung in Fehlern.