Strange Problem with TWideMemoField

Discussion of open issues, suggestions and bugs regarding SDAC (SQL Server Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Posts: 7
Joined: Mon 02 Nov 2009 13:24
Location: India

Strange Problem with TWideMemoField

Post by garry » Mon 08 Feb 2010 11:24

I am facing very strange problem.
I made my database fully unicode compatible...i.e. Varchar to Nvarchar & Text to nvarchar(max).
and at GUI side (Delphi 2009) i replaced all TstringField to TWideString Field and all TmemoField to TWideMemoField

After this, all seems ok and working fine but i noticed one record for perticular field which earlier was text and changed as nvarchar(max) giving me chinese characters instead of actual values....i again changed this to TMemoField and now it looks correct means no Chinese character....but ideally it should be TWidememoField (due to Nvarchar(max) at DB side).

Please note i have observed in one field of a Single record only and strangely when i query at SQL server side values are readable.

This is forcing me to rethink about all the process since it may be huge problem after deploying at client side...

Please suggest on this.

Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Tue 09 Feb 2010 10:37

Try to backup the table, drop it, and recreate; as well drop and recreate field objects on the client-side, and verify whether the record on the server has proper encoding now.
If this does not solve the problem, please send me a complete small sample to dmitryg*devart*com to demonstrate it, including a script to create and fill the table.

Post Reply