Is any difference between VARCHAR and TEXT? In SQLite3 they are synonyms, aren't they?
As far as the database's internal storing and processing is concerned, yes. But a field reported as VARCHAR by schema info is 'translated' to a TStringField, while TEXT results in a TMemoField.
I add changes you advised, but now have error "dataset is not in edit or insert state".
That's another issue unrelated to the field type. Is AutoEdit of the corresponding DataSource set to True?
Also in DBGrid value of this field looks as (MEMO).
That's the standard display text of a TMemoField. You can use the TField's OnGetText event to supply the real content or, better, just a sufficient part of it. Like this for instance:
const
cGridMemoLength = 75;
//...
procedure TdmMain.MemosGetGridText(Sender: TField; var aText: string; DisplayText: Boolean);
begin
if DisplayText then
begin
aText := Sender.AsString;
SetLength(aText,cGridMemoLength);
aText := ReplaceStr(aText,LineEnding,' ');
aText := aText + '...';
end;
end;
Will have a look at your code as well - EDIT: but can't get it to run due to a 'malformed database schema' error.