我有一个带有以下控件的表单:TDBEdit
, TDBMemo
, TDataSource
,TClientDataSet
如果用户编辑字段,然后单击表单上的一个按钮,该按钮仅调用该MyCDS.Cancel
方法(取消编辑),则TDBEdit
字段将恢复为其原始值,但TDBMemo
字段不会恢复(它们被设置为空白值)。
由TClientDataSet
MSSQLServer 2008 数据库填充。TDBEdit
字段在nvarchar(255)
数据库中,并且TDBMemo
是nvarchar(max)
或xml
字段。
查看 Debug Inspector (ctrl+F7, MyCDS.FieldByName('afield'), Inspect) 中的值显示以下nvarchar(max)
字段之一:
- 数据大小 = 0
- 数据类型 = ftWideMemo
- 大小 = 1
无论底层字段是否有数据,所有的nvarchar(max)
and字段都是一样的。xml
nvarchar(max)
(被视为 a ftWideMemo
)和TDBMemo
控件之间似乎存在不兼容性。
有没有人见过这样的问题?您对如何解决它有什么建议吗?