пунктуация в SQL-выражении - PullRequest
2 голосов
/ 20 февраля 2012

Я пытаюсь добавить строку с "Там" в Adobe SQLite.и это указывает на наличие ошибки с символом 's' внутри строки?В любом случае я могу добавить в SQL-оператор?

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

Ответы [ 4 ]

2 голосов
/ 20 февраля 2012

Хотя вы можете просто экранировать ', лучше использовать привязку параметров и заполнителей; 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" />
2 голосов
/ 20 февраля 2012

Попробуйте:

INSERT INTO TABLE_1 VALUES(null,'name','There''s a string here here',1);
0 голосов
/ 20 февраля 2012

Ответ на этот очень похожий вопрос (iPhone вместо Adobe) заключается в том, что вы должны либо добавить второй апостроф к каждому апострофу ("Там" становится "Там" ") или вы используете параметризованные операторы SQL.

0 голосов
/ 20 февраля 2012

Заменить все апострофы в строках двумя последовательными апострофами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...