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

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

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

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

Сообщение Climber » 25.12.2009 11:14:21

Придумал на днях такую штуку: сделал в базе таблицу с двумя полями: название отчета и запрос. Пользователь видит на экране список названий, жмет кнопку и получает результат запроса, хранящегося в базе, в виде 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.
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

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

Сообщение Vadim » 25.12.2009 11:35:58

Climber
А такая конструкция не работает?
Код: Выделить всё
SELECT CAST(real_date AS date)...
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

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

Сообщение Climber » 25.12.2009 11:42:51

Работает, спасибо... Как-то я забыл, что приведение типов можно по-разному записать... :oops:
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

Рейтинг@Mail.ru