2017-04-03 224 views
0

對不起再次打擾您...我有一個關於SQLite數據庫的問題。我需要知道如何將字符串轉換爲文本,以便通過showInputDialog將此信息添加到表中。SQL - 將字符串轉換爲文本

在該項目中,我已經轉換爲字符串轉換成整數,而不使用此代碼的問題:

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+");"; 
在我的數據庫

但如今,在另一個表,我有這樣的文字欄,我需要用showInputDialog插入數據。我對第一部分使用相同的設置...但是如何繼續?我嘗試在線搜索,但找不到類似的方法。

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

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

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

其中nGame是該列的名稱。

在此先感謝您提供任何建議或解決方案。祝你今天愉快。

+0

你生成的SQL字符串應該是擺在首位有效。只需打開你的sqlite調試工具(或該映射器的SQL標準),並將預期的文本格式與您生成的字符串進行比較。其次,您不應該將值連接成純字符串,因爲這會將您的程序打開爲SQL注入攻擊。改用綁定變量。 –

回答

0

字符串可以直接與單引號的sql語句中使用:

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

但是,如果輸入來自您的控制之外([obligatroy XKCD鏈接](https://xkcd.com/327/)),千萬不要這樣做。相反,搜索「準備好的語句」。 – TripeHound

+0

@TripeHound是 - 絕對。 – notyou