2015-04-08 3 views
0

Привет Я пытаюсь использовать SQLite параметризованного запроса но во имя столбца является точкой (.)Sqlite Параметризованная вставки запроса (побег)

INSERT INTO Data (`test.1`, `test.2`, `test.3`) VALUES (@test.1, @test.3,@test.3) 

Возвращает

«SQL логическая ошибка или отсутствует базы данных рядом». ": ошибка синтаксиса"

INSERT INTO Data (`test.1`, `test.2`, `test.3`) VALUES ([@test.1], [@test.3],[@test.3]) 

Возвращает

«SQL логическая ошибка или отсутствует база данных нет такого столбца: @ test.1»

как я могу избежать точку и по-прежнему использовать имена в качестве параметров !?

+0

Вы попробовали одинаково [&] для имен столбцов тоже? – Lali

+0

нет, я не сделал, позвольте мне проверить !!! не работает .. такой же ошибка как второй пример. – Proxx

ответ

3

«Правильный» экранирующий символ в SQLite является двойные кавычки:

INSERT INTO Data("test.1", "test.2", "Test.3") 
    VALUES ([@test1], [@test3], [@test3]) 

Оставьте . из имени параметра - предположительно, у вас есть контроль над этим.

SQLite явно поддерживает обратную совместимость с MySQL и квадратные скобки для совместимости с MS Access и SQL Server. (Как вы можете видеть в documentation.)

+0

oke, надеясь на выходное решение. но я думаю, что это было бы лучшим решением. теперь мне больше не нужны скобки [&] – Proxx