Autor Beitrag
inkoknito
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Mo 07.09.09 17:43 
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".


ausblenden 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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mo 07.09.09 17:49 
Du könntest dir spaßeshalber mal SQL.Text ausgeben lassen.

_________________
PROGRAMMER: A device for converting coffee into software.
inkoknito Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Di 08.09.09 09:47 
Hallo Xentar,

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: 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!