2017-04-03 10 views
0

Entschuldigen Sie, dass ich Sie erneut belästigt habe ... Ich habe eine Frage zur SQLite-Datenbank. Ich muss wissen, wie man eine Zeichenkette in einen Text umwandelt, also kann ich diese Information der Tabelle durch einen showInputDialog hinzufügen.SQL - Konvertieren einer Zeichenfolge in einen Text

Im Projekt, ich habe bereits eine Zeichenfolge in eine ganzen Zahl ohne Probleme mit diesem Code umgewandelt:

String input = advice.showInputDialog("Insert number of the experiment:"); 
//String to integer 
numExperiment = new Integer(input).intValue(); 

sql = "INSERT INTO Table VALUES ("+numExperiment+", "+column2+", "+column3+");"; 

Aber jetzt in meiner Datenbank, in einer anderen Tabelle, ich habe diesen Spalt TEXT und ich muß Fügen Sie Daten mit dem showInputDialog ein. Ich verwende die gleiche Einstellung für den ersten Teil ... aber wie gehe ich vor? Ich habe versucht, online zu suchen, aber ich kann die Methode nicht finden, um dies o etwas Ähnliches zu tun.

String input = pGame.showInputDialog("Add a new game"); 

//Code that I don't know how to put 

sql2 = "INSERT INTO Game VALUES ("+nGame+");"; 

Dabei ist nGame der Name der Spalte.

Vielen Dank im Voraus für eine Beratung oder Lösung. Einen schönen Tag noch.

+0

Ihr generierten SQL-String sollte in erster Linie gültig sein. Öffnen Sie einfach das sqlite-Debugging-Tool (oder den SQL-Standard für diesen Mapper) und vergleichen Sie die erwarteten Textformate mit der von Ihnen generierten Zeichenfolge. Zweitens sollten Sie niemals Werte in einfache Zeichenfolgen verketten, da dies Ihr Programm für SQL-Injection-Angriffe öffnet. Verwenden Sie stattdessen gebundene Variablen. –

Antwort

0

String kann direkt in der SQL-Anweisung mit einfachen Anführungszeichen verwendet werden:

"INSERT INTO Game VALUES ('"+input+"');"; 
+1

Aber tu das niemals, wenn die Eingabe von außerhalb deines Steuerelements kommt ([obligatroy XKCD link] (https://xkcd.com/327/)). Suchen Sie stattdessen nach "vorbereiteten Aussagen". – TripeHound

+0

@TripeHound ja - absolut. – notyou

Verwandte Themen