从delphi5到delphi7,用TTable控件(或TQuery控件采用QBE 格式sql语句时)
   访问MS SQL Server 的Nvarchar类型的字段总是出现问题“Translate Error. Value out of bounds. Attempt to convert data stopped by syntax error in source field.”。具体表现为一个字段(nvarchar型)被解析为几个字段,如company字段,被解析为company,company_1,company_2,等等。
   难道delphi面对nvarchar字段就这么脆弱?请各位编程兄弟给予帮助。
   这个问题问过数次,难道就没有相应的解决方案?请各位编程兄弟给予帮助。

解决方案 »

  1.   

    BDE不支持,要么在SQL SERVER端把nvarchar改为varchar
    要么改用ADO.
      

  2.   

    delphi本身数据库方面还不支持unicode或者支持不得力.
      

  3.   

    ado 是支持MsSqlServer/MsAccess 最好的方案.
      

  4.   

    首先十分感谢以上四位兄弟的踊跃回复。
    CSDN让我觉得有点冷清。
    用TQuery,书写标准sql语句(即通常的sql语句,符号sql92标准),对nvarchar是没问题的。
    to: cainiao000(菜鸟) &  chechy(为程序而奋斗) &CloneCenter(复制中心)&blucecat(一言稀音) :
    关于delphi对Unicode的支持,不知你们知道哪里有相关的文章或资料?我想看看。可否帮下忙?
    我选择BDE连接Ms Sql Server,是有原因的。那就是我想借助BDE实现跨数据库/跨数据源查询。如果OLEDB/ADO能够实现这点,那我是无论如何也不想用BDE连接Ms Sql Server的。我想大家肯定能理解。现在,我只有两条路选择。其一,走BDE路,但必须能够解决nvarchar或类似问题。其二,弃用BDE(比如选ADO),但必须能够实现跨数据库或跨数据源。
       希望大家在此多多给予帮助。我的联系方式是:邮箱:[email protected]
    MSN, 账号就是这个邮箱。
      

  5.   

    怎么样才能让BDE增加对Unicode的支持?
      

  6.   

    ado当然是跨数据库的啦
    oledb for ... 就是对各种数据的支持
    还有个万能的 oledb for odbc
      

  7.   

    to newyj(吴刚vs西西弗) :
    老兄误解了我的意思,我说的跨数据库是指同时对来自不同数据库(或数据源)的表建立连接查询,就象查询一个数据源里的两个表一样。