[Решено] PostgresQL поле типа text

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

Ответить
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

[Решено] PostgresQL поле типа text

Сообщение resident »

Мне нужно поле в Postgre с 2000+ символов. Создал его как text.
Создаю в Lazarus объект - статическое поле для него. Lazarus его сделал как TMemoField. Этож BLOB?
В контролах показывает вместо нужного текста надпись "(MEMO)".
Подскажите как бы добраться до текста в базе, чтоб и читать и править?
Последний раз редактировалось resident 14.11.2015 17:07:22, всего редактировалось 1 раз.
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

Для вывода и редактирования таких полей используется TDBMemo.
Для того что бы показать поле в DBGrid можно сделать так:

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

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if Assigned(Column) then
  begin
   (Sender as TDBGrid).Canvas.FillRect(Rect);
   (Sender as TDBGrid).Canvas.TextRect(Rect, Rect.Left, Rect.Top, ' '+Column.Field.AsString);
  end;
end;           


Добавлено спустя 19 секунд:
http://www.freepascal.ru/forum/viewtopic.php?f=5&t=5112
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Сообщение resident »

Благодарю.

з.ы. Для эксперимента пока забросил text и переделал поля на varchar.
Вроде работает.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Можно просто явное преобразование типа дать

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

cast(aaa as varchar(2000))
Ответить