Page 1 of 1

Writing to a Textblob - Wrong value in DB - cachesblobs = false

Posted: Thu 01 Aug 2013 15:35
by Jank
Hello,

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;
If I empty the Field first, I have the same result like in the first example ("short textvery long text")

Code: Select all

  qry.Options.CacheBlobs := false;
  qry.Edit;
  qry.FieldByName('memo').clear
  qry.FieldByName('memo').Value := AText;
  qry.Post;
What do I wrong or is it a problem?
I have a simple example written in XE4 with IBDAC 5.0.1.

regards Jan

Re: Writing to a Textblob - Wrong value in DB - cachesblobs = false

Posted: Fri 02 Aug 2013 11:25
by AndreyZ
Hello,

Thank you for the information. We have reproduced the problem and the investigation of the problem is in progress. We will notify you when we have any results.