DBGrid не отображает поле с типом Text

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

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

DBGrid не отображает поле с типом Text

Сообщение AkANz » 25.03.2010 09:04:01

Установлен Lazarus 0.9.29 Версия FPC 2.4.1 Ревизия SVN 2398 на WinXP. База на PostgresQL 8.4.3-1 так же под WinXP
В базе есть 3 поля с соответственно: Фамилией, именем и отчеством
Необходимо в DBgride отображать эти поля в одной колонке (соединить Фамилию, Имя и Отчество)
Запрос к базе:
Код: Выделить всё
      SELECT medical_history.medical_data AS data,
      (spr_pacient.family || '' '' || spr_pacient.name || '' '' || spr_pacient.patronymic) AS FamIO
      FROM medical_history
      LEFT JOIN spr_pacient ON medical_history.id_spr_pacient = spr_pacient.id_spr_pacient


Запрос выполняется и в DBGrid в колонке FamIO отображается (МЕМО)
При выполнении того же запроса в pdAdmin III данные отображаются верно.
Где-то здесь на форуме встречал, что необходимо преобразовать получаемое поле FamIO из Text в Varchar, но вот как это сделать не соображу (да и найти тоже на получается).

Пробовал создать Представление, но результат тот же.
Код: Выделить всё
CREATE VIEW medical_history_view AS
SELECT medical_history.medical_data AS data, (((spr_pacient.family::text || ' '::text) || spr_pacient.name::text) || ' '::text) || spr_pacient.patronymic::text AS famio
   FROM medical_history
   LEFT JOIN spr_pacient ON medical_history.id_spr_pacient = spr_pacient.id_spr_pacient;


при попытке заменить в Представлении строки "::text " на "::varchar(150)" вываливается ошибка.

Подскажите, пожалуйста.

p.s. Для соединения с базой используется Zeos 6.6.6
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край

Re: DBGrid не отображает поле с типом Text

Сообщение v-t-l » 25.03.2010 13:05:38

Код: Выделить всё
SELECT medical_history.medical_data AS data,
      CAST((spr_pacient.family || '' '' || spr_pacient.name || '' '' || spr_pacient.patronymic) AS varchar(150)) AS FamIO
      FROM medical_history
      LEFT JOIN spr_pacient ON medical_history.id_spr_pacient = spr_pacient.id_spr_pacient
v-t-l
энтузиаст
 
Сообщения: 735
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: DBGrid не отображает поле с типом Text

Сообщение AkANz » 25.03.2010 14:30:24

Спасибо, большое заработало.
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 32

Рейтинг@Mail.ru