Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TMysqlClient+Update (https://www.delphipraxis.net/145843-tmysqlclient-update.html)

CengizP 9. Jan 2010 10:31

Datenbank: Mysql • Version: 5 • Zugriff über: TMysql

TMysqlClient+Update
 
Hallo Leute,

ich habe nun schon 2 Tage das www durchsucht um ein UPDATE statement zu Senden worin es eine var gibt.

DB -> id, ort, fil, active, stat

Das ganze sieht so aus :


Delphi-Quellcode:
statst := String;
statst := 'UPDATE `lclient` SET stat="online" WHERE fil='+FNummer;
sql.query(statst, true, Boolresult);
Aber es sollte eigendlich so aussehen: ( Hochkommas)

Delphi-Quellcode:
statst := String;
statst := 'UPDATE `lclient` SET stat="online" WHERE fil='+"FNummer";
sql.query(statst, true, Boolresult);
Getestet habe ich es per PHPMyAdmin so :

SQL-Code:
'UPDATE `lclient` SET stat="online" WHERE fil="BI1"
Funzt per Delphi nur nicht bzw. nicht weil ich was falsch mache wegen den Hochkommas bzw. Gänsefüsschen. :)

Die Variable FNummer lese ich aus einer ini, diese wird auch zu jederzeit die ich die benötige richtig Ausgegeben.

Das Problem dabei ist das Im letzten abschnitt der Abfrage Hochkommas fehlen, also dort wo +FNummer steht, jedoch mag Delphi das nicht sorecht wegen illegal characters oder aber die var wird dann nicht Aufgelöst, z.B. :

SQL Log :

SQL-Code:
461 Query      UPDATE `lclient` SET stat="online" WHERE fil=FNummer
Hoffe ihr könnt mir Helfen.

Danke im vorraus!

blawen 9. Jan 2010 11:23

Re: TMysqlClient+Update
 
Zwei mögliche Ansätze:

Delphi-Quellcode:
statst := 'UPDATE `lclient` SET stat="online" WHERE fil= "' + FNummer + '"';
oder

Delphi-Quellcode:
Query.SQL.Text := 'UPDATE `lclient` SET stat="online" WHERE fil = : sNummer';
Query.ParamByName('sNummer').AsString := FNummer;
Wobei mir die 2. Methode besser gefällt

CengizP 9. Jan 2010 11:28

Re: TMysqlClient+Update
 
Ich Danke dir!

Das

Delphi-Quellcode:
statst := 'UPDATE `lclient` SET stat="online" WHERE fil= "' + FNummer + '"';
wars!

blawen 9. Jan 2010 11:36

Re: TMysqlClient+Update
 
Gern geschehen.

Zumindest wenn Du neue Werte übergeben willst, empfehle ich dir aber die Variante mit der Parameterübergabe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 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