[Решено] PostgresQL поле типа text
Добавлено:
09.11.2015 19:26:43
resident
Мне нужно поле в Postgre с 2000+ символов. Создал его как text.
Создаю в Lazarus объект - статическое поле для него. Lazarus его сделал как TMemoField. Этож BLOB?
В контролах показывает вместо нужного текста надпись "(MEMO)".
Подскажите как бы добраться до текста в базе, чтоб и читать и править?
Re: PostgresQL поле типа text
Добавлено:
09.11.2015 21:06:40
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
Re: PostgresQL поле типа text
Добавлено:
09.11.2015 22:39:35
resident
Благодарю.
з.ы. Для эксперимента пока забросил text и переделал поля на varchar.
Вроде работает.
Re: PostgresQL поле типа text
Добавлено:
10.11.2015 09:05:24
alexs
Можно просто явное преобразование типа дать
- Код: Выделить всё
cast(aaa as varchar(2000))