读sqlserver 2000数据库内容,每个字段的内容总是读取不全,尤其是字段内容较多的时候,尾部很多都读不出来。
同样的程序在delphi2007下运行正常,什么原因?怎么解决呢

解决方案 »

  1.   

    這是因為DELPHI2009全面支持UNICODE的問題。在FR下更嚴重,基本上所有預先設置的報表都顯示不全。重新設置下字符集,字體後試下。
      

  2.   

    没有用过。多半是UNICODE问题。
      

  3.   

    好像不行,我直接用TAdoConnection和TADOQuery读取sqlserver数据库中一个TEXT格式字段的内容,将读出的信息直接showmessage出来,发现只能显示前半部分,后边几个汉字显示不出来
      

  4.   

    DELPHI2009最大的一个不同就是全面支持UNICODE
      

  5.   

    支持unicode跟访问数据库有什么关系,难不成ado系列控件与sqlserver2000不兼容了?如果不兼容的话,那还让delphi2009具备打开早期版本的工程干什么,岂不是什么都要从零开始!我看了tadoquery控件的属性,好像没有跟unicode相关的设置
      

  6.   

    确实有这个问题,不管是用String还是AnsiString都这样,同样的代码同样的库在2007下就没问题。
      

  7.   

    是啊,tjCFeng 也发现了,该怎么解决?应该不是unicode的问题。
    急等~~~
      

  8.   

    把字段的size调大些也不行吗?  没试过,猜的
      

  9.   

    呵呵,字段再长也不管用,就算读text字段的内容,也是只能读出前面一部分,不能完整读出还有没有高人来帮忙解决一下?
      

  10.   

    bug ,典型的bug ,delphi 2009 unicode 带来的问题~~
      

  11.   

    应该不会是unicode的问题吧?另外,delphi2009已经打上update1和update2了,还是故障依旧
      

  12.   

    并不是版本越高越好用,尤其是最新的版本往往未知Bug也多
    建议你还是用原来的2007
    如果非得要用2009,则试试以下办法:
    对所有字符串加一个函数WideCharToString进行强制转换
      

  13.   

    你应该将text类型改为ntext类型。text类型相当于ansistring,ntext类型则相当于widestring
      

  14.   

    有可能是unicode的问题,先修改一下试试!
      

  15.   

    D2007和D2009最大的区别是:一个属于borland  一个属于易博龙
      

  16.   

    BUG哈哈!LZ测试没问题在这里说下哦~
      

  17.   

    看看你的字段映射的问题,特别是备注字段。
    这个不是delphi的bug.
    delphi2009把备注字段从2007映射为TMemoField修改为映射为TWideMemoField了,改下字段类型就没问题了。