ADOQuery: Parameter nicht gefunden, ich werde bald verrückt!
-
Hallo liebe Forengemeinde,
in meinem Formular befindet sich ein ADOQuery und ein TDataSource welche über ODBC mit meiner MySQL-Datenbank verbunden sind.
Nun möchte ich bei der INSERT-Routine mit Parametern arbeiten und komme hier nicht weiter. Ich habe glaub ich sämtliches Foreneinträge durch und finde keine Lösung.
ADOQuery7->Parameters->CreateParameter("NR_KD", ftInteger, pdInput, 10, NULL); ADOQuery7->Parameters->ParamByName("NR_KD")->Value = IntToStr(iKundennummer);
Die Option "ParamCheck" steht bereits auf "false".
Ich hab auch keine Ahnung an welcher Stelle im Code der Fehler auftritt, es gibt leider mehrere Stellen wo o. g. Code zur Verwendung kommt.
Wie kann ich beim Debbuging festellen, an welcher Steller er hängt? Dort steht immer nur "Erste Gelegenheit für "Exception blablabla". Gibt es keine Möglichkeit an diese Stelle im Quelltext zu springen?
Wäre nett wenn jemand eine Idee hätte.
Liebe Grüße,
Maik
-
Hallo
geht es denn ohne ParamByName ?
Mfg
Klaus
-
...wie meinst Du das?
Habe bisher die Werte immer direkt übergeben, das funktioniert ohne Probleme.
Viele Grüße
Maik
-
Hi,
Du must DataType noch setzen.
Gruß Mümmel
-
...was meinst Du genau?
Datentyp wird doch laut Code mit 'Integer' definiert? Oder muss der noch separat definiert werden?
Viele Grüße
Maik
-
Hi Maik,
kann Dir jetzt nur auf den Ruck zeigen, wie ichs bei Delphi gemacht habe. DS1 ist ne AdoDataSet:
var Param : TParameter; begin ds1.CommandText := 'select * from Tabelle where [ID] < :MaxID;'; Param := ds1.Parameters.ParamByName( 'MaxID' ); Param.DataType := ftInteger; Param.Value := 10; ds1.Active := True; end;
-
Hi Maik,
was auch noch hinkommen könnte, lass doch einfach mal das InttoSting weg. Du erschaffst einen Integer-Parameter und weist Value dann einen String zu.
Value kann alles ab, also weise einen Int zu, dann müsste er auch zum Parametertyp passen.Gruß Mümmel