F
fjw
Unregistered / Unconfirmed
GUEST, unregistred user!
这几天研究使用ClientDataSet,发现一个奇怪的问题,特来向大家请教,先谢谢了。 问题这样的,我通过ADO连接数据库,TDataSetProvider绑定到ADOQuery上,ClientDataSet再指向TDataSetProvider,都在一个表单上进行演示的,DataSource指向ClientDataSet,然后用DBGrid显示读取的数据,在我的笔记本上运行正常,但在我的台式机上却不能正常显示数据了。 具体表现是在DBGrid中所有的nText字段显示为(BLOB),而在我的笔记本上运行nText字段显示为WideString,用showmessage能正常读取值,但在我的台式机上却不能读取了。 执行ClientDataSet.SaveToFile('c:/debug.xml', dfXML),发现在导出的文件中,如字段MsgText(类型为nText)为值为MsgText="yFTIVAz/jVFlZ9WLAE7ViwIw"了,而在笔记本中执行后导出的正确的值为MsgText="哈哈,再来试一试。",这是什么原因呢,经替换本机中的midas.dll都不能解决问题,请您帮助看看,谢谢了! 另外如果把笔记本上导出的正确的xml文件读取后赋值给ClientDataSet.XMLData,在笔记本上执行显示正常,但在我的这个台式机上显示却又表示为VarBytes类型字段了,同样用showmessage读取不了其中的值。 同样的程序,在其他人的机器上都执行得很正常,但就是有两台机器显示不正常,不知是什么原因,是否是ClientDataSet的BUG呢?