![]() |
Falsche Anfrage [gelöst]
Hi,
um einen Datensatz zu ändern nutze ich folgenden Code;
Delphi-Quellcode:
leider sagt er mir das dies falsch oder unbekannter syntax ist...Where `id`=1!Form1.qrMain.SQL.Text:='UPDATE `gaestebuch` Set `user`='''+Edit1.Text+''','+ '`password`='''+Edit2.Text+''','+ '`topic`='''+Edit4.Text+''','+ '`text`='''+synmemo1.text+''','+ 'WHERE `id`='''+edit3.text+''';'; Form1.qrMain.ExecSql; //SQL-Statement ausführen Woran kanns liegen? habs so aus nem tutorial! Gruß Synonym |
Re: Falsche Anfrage
ich würd mal versuchen den strichpunkt hinter id und die anführungszeichen um den idwert wegzulassenn
|
Re: Falsche Anfrage
Delphi-Quellcode:
Edit: Ich hatte die Doppelpunkte vergessen!
Var
ProcessedRecs :Integer; ... BEGIN ... With ADOQuery Do Begin SQL.Text := 'UPDATE GaesteBuch' + #10 + 'SET USER = :i_USER' + #10 + ' ,Password = :i_Password' + #10 + ' ,Topic = :i_Topic' + #10 + ' ,Text = :i_Text' + #10 + 'WHERE ID = :i_ID'; // Parsen des Statements um Query Parameter zu finden... Prepared := True; // Werte an Query Parameter übergeben... With Parameters Do ParamByName('i_USER').Value := Edit1.Text; ParamByName('i_Password').Value := Edit2.Text; ParamByName('i_Topic').Value := Edit4.Text; ParamByName('i_Text').Value := SynMemo1.Text; ParamByName('i_ID').Value := Edit3.Text; End ProcessedRecs := ExecSQL; End; MessageDlg(IntToStr(ProcessedRecs)+ ' rows updated...', mtInformation, [mbOK], 0); ... END; |
Re: Falsche Anfrage
Und das Komma hinter dem Wert von 'text' dürfte zuviel sein.
|
Re: Falsche Anfrage
funktioniert beides leider nicht...
exception in blabla bla where id=1 = falscher Syntax! In PHPMyAdmin funktionierts mit dem Vefehl: UPDATE `Gaestebuch` SET `user` = 'test1' WHERE `id` = '1' gruß Synonym |
Re: Falsche Anfrage
Zitat:
Danke |
Re: Falsche Anfrage
Du schmeißt es doch alles in eine Zeile und da steht dann:
SQL-Code:
Nachtrag: Wo hast du denn das Tutorial her?
UPDATE gaestebuch SET USER = '...' ,Password = '...' ,Topic = '...' ,Text = '...' ,{hier ist der Fehler} WHERE id = '1'
Wie kann man schon in einem Tutorial den Leser zu solchen Fehlern verleiten? Unnötig veränderliche Statements sind der beste Weg um aus einer schnellen DB ein Access/Paradox,... zu machen! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 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-2025 by Thomas Breitkreuz