Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: ADO: Parameter funktionieren nicht(oder ich wende falsch

  Alt 6. Feb 2006, 12:43
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.
  Mit Zitat antworten Zitat