German SQL insert mit variablen

calcaneus

Member
Licensed User
Longtime User
Hallo,

um Daten in eine DB zu schreiben hab ich mich an den User-Guide gehalten.
Hier steht: Text variable must be between two quotes 'Val1', numbers not Val2.
Ich hab die über dem #-Zeichen genommen -- evtl. falsch?

Wenn ich das so mache bekomm ich die varieblennamen als inhalt der zellen.

kennt das jemand? wie tun?

Grüße
calc
 

calcaneus

Member
Licensed User
Longtime User
OK, hier die Lösung:

SQL1.ExecNonQuery("INSERT INTO tablename VALUES('" & variable1 & "', '" & variable2 & "')")
 

corwin42

Expert
Licensed User
Longtime User
Und hier so, wie man es "sauber" programmiert:

B4X:
SQL1.ExecNonQuery2("INSERT INTO tablename VALUES(?, ?)", array as string(variable1, variable2))

Das zusammenhängen von SQL-Statements ist absolut üble Praxis aber leider (gerade bei Hobbyprogrammierern) sehr verbreitet. Problem dabei ist, dass bei veränderten Variableninhalten die SQLEngine auch immer denkt, dass sie ein komplett neues SQL-Statement bekommt. D.h. alle Phasen, wie Statement parsen, Ausführungsplan erstellen etc. müssen immer wieder gemacht werden. Anders ist das bei obigem Statement. Das ist immer gleich, nur der Inhalt der Variablen ändert sich.
 
Top