Der Wert der Variablen ist ein Integer, in der Prozedur wurde der Datentyp auf ftInteger gestellt.
Mit der ersten Methode so
Code:
procedure TQuery.AddIntegerParam(FieldName: string);
begin
Parameters.AddParameter.Name := FieldName;
Parameters.ParamByName(FieldName).DataType := ftInteger;
end;
und mit der zweiten so
Code:
procedure TQuery.AddIntegerParam(FieldName: string; Value: Integer);
begin
Parameters.CreateParameter(FieldName, ftInteger, pdInputOutput, -1, Value);
end;
In der Komponente auf dem Formular ist genau das gleiche eingestellt, nur nicht von mir zur Laufzeit erstellt worden. Da klappt es problemlos.
Die Spalte in der Datenbank ist ebenfalls Integer. Hier der CREATE-Code
Code:
`nummer` INT(11) NOT NULL,