由delphi2007升级到delphi2009,发现操作sqlserver出现了奇怪问题????? 读sqlserver 2000数据库内容,每个字段的内容总是读取不全,尤其是字段内容较多的时候,尾部很多都读不出来。同样的程序在delphi2007下运行正常,什么原因?怎么解决呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 這是因為DELPHI2009全面支持UNICODE的問題。在FR下更嚴重,基本上所有預先設置的報表都顯示不全。重新設置下字符集,字體後試下。 没有用过。多半是UNICODE问题。 好像不行,我直接用TAdoConnection和TADOQuery读取sqlserver数据库中一个TEXT格式字段的内容,将读出的信息直接showmessage出来,发现只能显示前半部分,后边几个汉字显示不出来 DELPHI2009最大的一个不同就是全面支持UNICODE 支持unicode跟访问数据库有什么关系,难不成ado系列控件与sqlserver2000不兼容了?如果不兼容的话,那还让delphi2009具备打开早期版本的工程干什么,岂不是什么都要从零开始!我看了tadoquery控件的属性,好像没有跟unicode相关的设置 确实有这个问题,不管是用String还是AnsiString都这样,同样的代码同样的库在2007下就没问题。 是啊,tjCFeng 也发现了,该怎么解决?应该不是unicode的问题。急等~~~ 把字段的size调大些也不行吗? 没试过,猜的 呵呵,字段再长也不管用,就算读text字段的内容,也是只能读出前面一部分,不能完整读出还有没有高人来帮忙解决一下? bug ,典型的bug ,delphi 2009 unicode 带来的问题~~ 应该不会是unicode的问题吧?另外,delphi2009已经打上update1和update2了,还是故障依旧 并不是版本越高越好用,尤其是最新的版本往往未知Bug也多建议你还是用原来的2007如果非得要用2009,则试试以下办法:对所有字符串加一个函数WideCharToString进行强制转换 你应该将text类型改为ntext类型。text类型相当于ansistring,ntext类型则相当于widestring 有可能是unicode的问题,先修改一下试试! D2007和D2009最大的区别是:一个属于borland 一个属于易博龙 BUG哈哈!LZ测试没问题在这里说下哦~ 看看你的字段映射的问题,特别是备注字段。这个不是delphi的bug.delphi2009把备注字段从2007映射为TMemoField修改为映射为TWideMemoField了,改下字段类型就没问题了。 DCOMConnection问题? 怎么样防止MDI子窗体被实例化多次 尋求TClientSocket的阻塞模式下的範例 如何在DELPHI中读取access数据库到DBGrid中? 全窗口拖动 连接oracle问题 卡在了这里,大家来帮我看看了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 小妹?^_^?:捉虫:错哪儿呢? 做个调查:DELPHI6有多少人在用?DELPHI5没有人用了? 用DELPHI如何解决这个问题? delphi的控制台程序怎么给它加个图标 要求编程实现 怎么读取系统的日志?OpenEventLog,ReadEventLog的详细用法
急等~~~
建议你还是用原来的2007
如果非得要用2009,则试试以下办法:
对所有字符串加一个函数WideCharToString进行强制转换
这个不是delphi的bug.
delphi2009把备注字段从2007映射为TMemoField修改为映射为TWideMemoField了,改下字段类型就没问题了。