Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#1

ADOQuery: Wie mit Parametern umgehen?

  Alt 16. Okt 2006, 20:48
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Ahoi!

Ich habe hier folgenden Code:
Delphi-Quellcode:
    with Qry do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO [Mails] (ANameID, ASubject, AText, AItemID, AItemCount, AMoney, AWeek, AYear)');
      SQL.Add('VALUES (:NID, :Sub, :Txt, :IID, :ICnt, :Mny, :WK, :YR)');
      Parameters.ParamValues['NID'] := GetUserID(Mails[i].Sender); // ***
      Parameters.ParamValues['Sub'] := Mails[i].Subject;
      // noch weitere Parameter...
      ExecSQL;
    end;
In der markierten Zeile hauts mich raus mit:
Code:
---------------------------
Project1
---------------------------
Qry: Parameter 'NID' nicht gefunden.
---------------------------
OK  
---------------------------
Und das, obwohl ich im FormCreate folgendes tu:
Delphi-Quellcode:
  with Qry.Parameters do
  begin
    CreateParameter('NID', ftInteger, pdUnknown, High(Integer), 0);
    CreateParameter('Sub', ftString, pdUnknown, 255, '');
    // noch weitere Parameter...
  end;
Obwohl ich das in anderen Beiträgen in der DP zu ADO hier noch nie als nötigen Schritt gesehen habe.

Was tu ich falsch?


\\Edit: Mit Parameters.ParamByName('NID').Value := 123; hab ich den selben Effekt.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat