Entwickler-Ecke
Datenbanken - "Parameter nicht gefunden" Sql.LoadFromFile --> ParamByName
inkoknito - Mo 07.09.09 17:43
Titel: "Parameter nicht gefunden" Sql.LoadFromFile --> ParamByName
Hallo Leute,
habe ein Problem für das ich einfach keine Lösung finden kann. Habe eine Query, die ein normales Update auf meine DB ausführen soll. Die Query ist mit der richtigen DB-Komponente verbunden und die DB ist aktiv.
Wenn ich den Update-Befehl direkt in die Query-Eigenschaft "SQL" im Objektinspektor eintrage, dann funktioniert auch alles super. Lagere ich den Update-Befehl in eine Text-Datei (copy - paste) und lade diese in die Query Komponente (SQL ist vorher leer), dann bekomme ich den Fehler "Query_UPDATE: Parameter UPDATE_ID nicht gefunden".
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| ... begin Query_S.first; for i:=0 to QUERY_S.RecordCount-1 do begin Query_UPDATE.SQL.LoadFromFile( verz+'\sql\update_BESTAETIGT.sql'); Query_UPDATE.ParamByName('UPDATE_ID').AsString := Query_S.FieldByName('ID').AsString; Query_UPDATE.ExecSQL; Query_S.Next; end; end;
... |
Update-Befehl:
SQL-Anweisung
1: 2: 3:
| update datenbank..TABELLE set FELD = '1' where ID = :UPDATE_ID |
ParamCheck ist True.
Hat jemand eine Idee??
Vielen Dank schonmal!
Gruß, Jana
Xentar - Mo 07.09.09 17:49
Du könntest dir spaßeshalber mal SQL.Text ausgeben lassen.
inkoknito - Di 08.09.09 09:47
Hallo Xentar,
Delphi-Quelltext
1: 2: 3:
| Query_UPDATE.SQL.LoadFromFile( verz+'\sql\update_BESTAETIGT.sql'); ShowMessage(Query_UPDATE.SQL.Text); Query_UPDATE.ParamByName('UPDATE_ID').AsString := Query_S.FieldByName('ID').AsString; |
ShowMessage gibt mir genau den Text, der in der txt steht. Bei der Zuweisung danach bekomme ich dann den Fehler.
inkoknito - Di 08.09.09 10:21
Hat sich erledigt.
Habe in der Query die ' durch " ersetzt. Danach bekam ich dann immernoch die Meldung, dass der Parameter nicht gefunden wurde. Ich hab dann im Quelltext anstelle LoadFromFile per SQL.ADD das Update (copy & paste) in die Query eingetragen. Dann hat's funktioniert. Dann hab ich wieder per Copy & paste die Zeilen in eine Txt kopiert und diese lade ich nun wieder per Sql.LoadFromFile. Jetzt klappt alles. Verstehe allerdings nicht wirklich warum. Trippfehler können es nicht gewesen sein. Bug? Naja, Trotzdem vielen Dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!