我有一个带有以下控件的表单:TDBEdit, TDBMemo, TDataSource,TClientDataSet
如果用户编辑字段,然后单击表单上的一个按钮,该按钮仅调用该MyCDS.Cancel方法(取消编辑),则TDBEdit字段将恢复为其原始值,但TDBMemo字段不会恢复(它们被设置为空白值)。
由TClientDataSetMSSQLServer 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控件之间似乎存在不兼容性。
有没有人见过这样的问题?您对如何解决它有什么建议吗?