i have a firebird-Table with a Textblob (BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET WIN1252) and try to write a text to an existing row:
Code: Select all
qry.Options.CacheBlobs := false;
qry.Edit;
qry.FieldByName('memo').Value := AText;
qry.Post;I have disabled CacheBlobs because i have many rows and it is better for the memory.
Ok, before I do this, the "memo"-column has the value "This is a very long text" and AText has the value "short text". after the post the column has the value "short textvery long text". It overrides the text in the length of the new text an keeps the other lines.
Thats bad.
I do not have the Problem, if I set CacheBlobs = true or set the value twice:
Code: Select all
qry.Options.CacheBlobs := false;
qry.Edit;
qry.FieldByName('memo').Value := AText;
qry.FieldByName('memo').Value := AText;
qry.Post;Code: Select all
qry.Options.CacheBlobs := false;
qry.Edit;
qry.FieldByName('memo').clear
qry.FieldByName('memo').Value := AText;
qry.Post;I have a simple example written in XE4 with IBDAC 5.0.1.
regards Jan