Startseite › Foren › Deutsches LiveCode-Forum › MySQL "UPDATE"-Befehl und Textfeld
- Dieses Thema hat 4 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 11 Monaten von Klaus Major.
-
AutorBeiträge
-
-
Dezember 27, 2018 um 19:07 Uhr #9601
Guten Tag zusammen, 🙂
ich hoffe angenehme Feiertage gehabt zu haben. Ich brauche mal wieder einen kleinen Tritt in den Hintern um vorwärts zu kommen.
Diesmal habe ich eine Frage zu einem SQL-Befehl in LiveCode. Ich habe mich generell an die Lesson in diesem Blog gehalten: Keine Angst vor Datenbanken und das klappt ziemlich gut. Wie das Meiste, wenn man es richtig macht. 😉
Meine konkrete Frage bezieht sich auf die folgende Zeile
`put „UPDATE personendaten SET email=’erwin@mayer.de‘ WHERE nachname = ‚Mayer‘ AND vorname = ‚Erwin'“ into sql
revExecuteSQL dbid, sqlIst es möglich anstelle eines festen „Wertes“ (wie hier z.B. erwin@mayer.de) auch den Inhalt einer Textbox zu übergeben? Oder müsste ich dazu ein anderen Befehl nutzen?
viele Grüße und kommt gut ins neue Jahr!
Sascha -
Dezember 27, 2018 um 19:32 Uhr #9603
Hi Sascha,
der Trick ist es, den korrekten SQL Befehl zusammenzubauen.
Das sollte so gehen:... put "UPDATE personendaten SET email='" & fld "das mit der emailadresse" & "' WHERE nachname = 'Mayer' AND vorname = 'Erwin'" into sql revExecuteSQL dbid, sql ...
Mit den ganzen Anfürungszeichen wrid das aber schnell schlecht lesbar, daher benutze ich immer zwei kleine Funktion, die mit einfache und doppelte Anführungszeichen um einen String packt:
## Doppelte Anführungszeichen -> " function q tString return QUOTE & tString & QUOTE end q ## Einfache Anführungszeichen -> ' function q2 tString return "'" & tString & "'" end q2
Ins Stackskript packen und nutzen. So sieht das dann mit der Funktion aus:
... put "UPDATE personendaten SET email= & q2(fld "das mit der emailadresse") & " WHERE nachname = 'Mayer' AND vorname = 'Erwin'" into sql revExecuteSQL dbid, sql ...
Gruß
Klaus
-
Dezember 27, 2018 um 19:41 Uhr #9605
Oh mein Gott ich werd verrückt. Es funktioniert (natürlich) tadellos. Und ich habe erst die erste Variante getestet. Vielen Dank für dieses tolle Weihnachtsgeschenk. =)
Die Anführungsstriche sind echt verwirrend. Jetzt schau ich mir als Nächstes die anderen Varianten an.Jetzt habe ich natürlich aber noch die Frage: Steht das irgendwo geschrieben oder hast du dein Wissen aus Erfahrung? Ich glaube ich muss mich noch mehr damit beschäftigen. 🙂
Vielen, vielen Dank!
-
Dezember 27, 2018 um 19:54 Uhr #9607
Jetzt habe ich natürlich aber noch die Frage: Steht das irgendwo geschrieben oder hast du dein Wissen aus Erfahrung?
Das ist Erfahrung. 🙂
-
Dezember 27, 2018 um 20:25 Uhr #9609
Aber das ist ja gerade ein der Stärken von LC: die Behandlung von Text. Du weisst, wie der SQL Befehl aussehen muss, also basteln wir uns den in LC entsprechend zusammen.
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.