Страница 1 из 1

Очистка запросов к SQLite силами Lazarus/FPC

СообщениеДобавлено: 11.08.2010 17:51:38
Nik
Суть проблемы: работаю из Lazarus с базой SQLite (с помощью вот этого класса - но это не суть важно). База обслуживается десятком диалогов с полусотней полей для ввода данных. Нужно обезопасить вводимые данные на предмет их SQL-корректности. Традиционный алгоритм escape_string (экранирование при помощи /) в случае с SQLite не катит - этот движок посылает запросы с бэкслешем нафиг.
Пытался решить вопрос путём внедрения в свой класс-обёртку функции, заменяющей все лишние символы в запросах на что-нибудь корректное (а часть мусора просто удаляющую), но тут другая проблема - те же кавычки в запросах могут быть как ошибкой, так необходимой частью.
Остаётся, вроде как, только вызывать этот самый аналог escape_string для каждой строки, передаваемой из TEdit в обработчик запросов, но полей, как я уже сказал, очень много. Вот думаю, может есть вариант попроще? Может кто поделиться опытом/идеями?

Re: Очистка запросов к SQLite силами Lazarus/FPC

СообщениеДобавлено: 11.08.2010 18:31:28
Odyssey
Чтобы спрятать экранирование и вырезание символов, можно написать аналог функции Format, который для каждого аргумента вызовет функцию экранирования/очистки. И дальше конструировать запросы с помощью этой функции.