Seite 1 von 1

Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 15:18
von Autonomus
Hallo,

meine Frage steht im Thema: Wie kann man Variablen in einem SQL Query nutzen?
Hab es weder selbst heraus gefunden, mit der Boardsuche nicht gefunden und die Hilfe dazu liefert leider auch nicht das gewünschte Ergebnis.

Hier ein Beispiel was ich genau brauche:

Code: Alles auswählen

CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('apple', '10')")
Anstelle von "name" möchte ich eine Variable einsetzen.

Grüße

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 15:23
von RSBasic

Code: Alles auswählen

Define DeinStringfuerName$ = "name"
CheckDatabaseUpdate(0, "INSERT INTO food (" + DeinStringfuerName$ + ", weight) VALUES ('apple', '10')")

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 15:45
von Autonomus
Keine Ahnung wieso ich mal wieder im Wald stand (Wald vor lauter Bäume nicht sehen), aber super.

Funktioniert! Danke! :allright:

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 16:09
von TroaX
Autonomus hat geschrieben:Keine Ahnung wieso ich mal wieder im Wald stand (Wald vor lauter Bäume nicht sehen), aber super.

Funktioniert! Danke! :allright:
Vielleicht, weil du sowas erwartet hattest?

Code: Alles auswählen

"INSERT INTO food (name, weight) VALUES ($VARIABLE, '10')")
Ich kenne das Problem :D

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 16:11
von RSBasic
TroaX hat geschrieben:Vielleicht, weil du sowas erwartet hattest?
Oder:

Code: Alles auswählen

CheckDatabaseUpdate(0, "INSERT INTO food (' + DeinStringfuerName$ + ', weight) VALUES ('apple', '10')")

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 17:59
von Bisonte
Ähem ... Finde es etwas seltsam, einfach so Tabellenfeldnamen variabel machen zu wollen.
Ein Datenbank ist in der Struktur doch eigentlich "fest"...

Sinnvoller wäre es die "Values" variabel zu machen. Da bietet PB auch gleich was an :

Code: Alles auswählen

SQL.s = "INSERT INTO food (name, weight) VALUES (?, ?)" ; Erstes Fragezeichen ist Index Nr. 0 !

SetDatabaseString(0, "apple") ; Hier erstes Fragezeichen
SetDatabaseLong(1, 10) ; Hier zweites Fragezeichen

CheckDatabaseUpdate(0, SQL) 

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 18:16
von Autonomus
Es ging mir explizit um die VALUES, richtig.

Nicht weil ich es erwartet habe, sondern haben mich die ' VALUE ' irritiert, da sonst " VALUE " verwendet wird.

Re: Variablen in einem SQL Query nutzen?

Verfasst: 02.10.2018 19:02
von mk-soft
Ist schon etwas älter, wird immer noch gerne genommen...

Format like sprintf: https://www.purebasic.fr/english/viewto ... 12&t=32026

Code: Alles auswählen

name.s = "Apple"
weight.f = 100.5
SQL.s = format("INSERT INTO food (name, weight) VALUES ('%s', %.3f)", @name, @weight)
Debug SQL