2012-02-19 370 views
2

我想在adobe sqlite中添加一個帶有「There's」的字符串。並且它表示在字符串中存在錯誤?無論如何,我可以添加到SQL語句?在SQL語句中的標點符號

INSERT INTO TABLE_1 VALUES(null,"name","There's a string here here",1); 
+0

我認爲你只是逃避'「'另一個'」'「即「有」的」 – 2012-02-19 20:53:03

+1

你需要逃避它。話雖如此,更好的做法是使用參數綁定和佔位符。谷歌搜索應該指出你在正確的方向。示例:http://cookbooks.adobe.com/post_MX_DateField_to_SQLite_query_parameter-18046.html – 2012-02-19 20:54:28

+1

您應該使用準備好的語句進行調查。 – 2012-02-19 20:59:09

回答

2

嘗試:

INSERT INTO TABLE_1 VALUES(null,'name','There''s a string here here',1); 
+0

此作品謝謝:d – user1004413 2012-02-19 23:10:31

0

用兩個連續的指令替換字符串中的所有指令。

+0

此作品謝謝:d – user1004413 2012-02-19 23:13:41

0

在此very similar question(iPhone代替的Adobe)的答案是,你必須要麼第二撇號添加到每個撇號(「有」變成了「有「的」)或者使用參數化的SQL語句。

+0

此作品謝謝:d – user1004413 2012-02-19 23:13:35

2

雖然你可以只是逃避'最好的做法是使用參數綁定和佔位符; SQL注入不是你的朋友。

stmt.text = "INSERT INTO PERSON (FNAME, LNAME) " 
      + "values(:FNAME, :LNAME)"; 

stmt.parameters[":FNAME"] = edtFName.text; 
stmt.parameters[":LNAME"] = edtLName.text; 

... 

<s:TextInput id="edtFName" /> 
<s:TextInput id="edtLName" />