![]() |
UPDATE befehl im SQL
hab ein problem mit dem update befehl der befehl soll von einem memofeld eingelesen werden
Delphi-Quellcode:
normalerwiese müsste er mir das updaten oder ??
var
Bemerk: string; begin if InputQuery('Bemerkung ändern','Bemerkung:',Bemerk) then begin mobemerkung.Lines.Clear; mobemerkung.Lines.Append(Bemerk) [i]with DataModule1 do[/i] begin Query.close; Query.SQL.Clear; Query.SQL.Text:= updatesql('Friktionstest','Bemerkung',Bemerk,''); Query.execsql; while not Query.Eof do Query.Close; end; end else end; ein problem hat er mit dem with DataModul1 do [edit] Operation oder semikolon fehlt das ist der fehler |
Re: UPDATE befehl im SQL
Und wiedermal fehlt ein Semikolon!
-> mobemerkung.Lines.Append(Bemerk); Nachtrag: Auch hinter dem else würde ein Semikolon hingehören, aber das geht weil vor end keines sein "muß". Du solltest dich wirklich erstmal mit der Syntax vertraut machen. Dazu gibt es normalerweise auf der Delphi-CD sehr gute Sprachmanuals als PDF! Noch'n Nachtrag: Als Tip für die Zukunft. Die delphi-Tags erlauben leider keine Formatierung mit BBCodes. Stattdessen solltest du für solche Fälle das pre/code-Tag verwenden! ;) Beispiel:
Code:
var
Bemerk: string; begin if InputQuery('Bemerkung ändern','Bemerkung:',Bemerk) then begin mobemerkung.Lines.Clear; mobemerkung.Lines.Append(Bemerk) [color=red][b]with DataModule1 do[/b][/color] begin ... |
Re: UPDATE befehl im SQL
Zitat:
Die Zeilen mit "Blödsinn" brauchst du nicht, da du ein ExecSQL machst. Danach ist Query auf jeden Fall geschlossen. Und ob dein Statement richtig ausgeführt wird, hängt davon ab, wie das Funktionsergebnis von "updatesql" aussieht. Falls du dann noch Transaktionskontrolle machst, fehlt auch noch ein Commit. Aber davon gehe ich mal nicht aus. //EDIT: Habe dein Edit erst jetzt gesehen. Der Teil hat sich also erledigt. |
Re: UPDATE befehl im SQL
des gibts ja ned bin i wirklich so blind
:wall: thx |
Re: UPDATE befehl im SQL
Mach mal ne Pause und geh an die frische Luft. Das hilft und spart dir mit Sicherheit Zeit.
|
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Datenbanken" nach "Object-Pascal / Delphi-Language" verschoben.
Das Semikolon gehoert natuerlich nicht zu SQL, also gehoert die Frage auch nicht nach Datenbanken ;) |
Re: UPDATE befehl im SQL
die form wird zwar gestartetaber beim ausfürhren des sql befehls kommt ein fehler
ungültiger feldname das ist der sql befehl
Delphi-Quellcode:
function updatesql (tabellenname, feldname, aenderung, whereanweisung :string) :string;
//------------------------------------------------------------------------------ // UPDATE Funktion //------------------------------------------------------------------------------ var ant: string; begin ant :='UPDATE ' + tabellenname; ant :=ant + ' SET ' + feldname; ant :=ant + '=' + aenderung; if whereanweisung <> '' then ant :=ant + ' WHERE ' + whereanweisung; result:= ant; end; |
Re: UPDATE befehl im SQL
:wall: ... das ist jetzt SQL ... hingegen die erste Frage nicht.
In diesem Fall wirst du wohl den Feldnamen überprüfen müssen (case-sensitive?!). Jedenfalls sehe ich nix, was an der SQL-Syntax syntaktisch falsch wäre. |
Re: UPDATE befehl im SQL
Wer weiß schon, was in WhereAnweisung drin steht...
Delphi-Quellcode:
Grüße vom marabu
ant := 'UPDATE ' + tabellenname;
ant := ant + ' SET ' + feldname; ant := ant + '=' + QuotedStr(aenderung); // das hilft bei char feldern if whereanweisung <> '' then ant := ant + ' WHERE ' + whereanweisung; result := ant; |
Re: UPDATE befehl im SQL
Zitat:
Delphi-Quellcode:
... der marabu ist übrigens ein ganz sympathischer "Vogel" :thumb:
Query.SQL.Text:= updatesql('Friktionstest','Bemerkung',Bemerk,'');
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz