Хранение текста запроса в БД

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Хранение текста запроса в БД

Сообщение Climber »

Придумал на днях такую штуку: сделал в базе таблицу с двумя полями: название отчета и запрос. Пользователь видит на экране список названий, жмет кнопку и получает результат запроса, хранящегося в базе, в виде csv. Все работает, за исключением одного момента: если в запросе есть приведение типов, например:
select real_date::date ...
При выполнении этой строки возникает ошибка с текстом "syntax error at or near ":" select real_date:date "
То есть при выполнении "::" заменяется на ":". Но вот такой код:

Код: Выделить всё

ShowMessage(ZQuery.SQL.Text); 
показывает правильный текст с двойным двоеточием, а если следующей строкой поставить ZQuery.Post, то возникает ошибка. Кто и куда прячет второе двоеточие?
Используется ZEOS 6.6.5, Lazarus 0.9.28, postgres 8.3.7.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Climber
А такая конструкция не работает?

Код: Выделить всё

SELECT CAST(real_date AS date)...
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Сообщение Climber »

Работает, спасибо... Как-то я забыл, что приведение типов можно по-разному записать... :oops:
Ответить