肯定是它的ODBC版本的问题,是不是你发现了XP的MSDC的一个bug啊?

解决方案 »

  1.   

    但我用的是ADO,里面没有用到ODBC.  嗨,微软的XP系统真是插屁!
      

  2.   

    我的经验:在XP里面安装delphi,重新编译一遍即可!就是ADO版本不同。看看XP下的ADO和2000下相同吗?如果不同,只能在ADO connection中根据注册表判断操作系统来使用不同ADO connection.
      

  3.   

    不用!读取注册表代码大约6行,判断一下即可!可惜我这儿没有XP,我有98和2000的判断识别,说白了就是识别出操作系统,再根据操作系统对connection赋不同值即可!
      

  4.   

    能不能问一下,在xp和98&2000下ado的connection赋值有什么不同?
      

  5.   

    我没有试验过xp,但是2000下开的98下就是不能兼容,后来拿到98下重新编译就OK.
    后来看看connection发现在这两个下面是相同!原因不明,但是后来在98下编译的拿到2000下就可以!你最好试验一下.如果实在不行就开发多个版本,没办法!
      

  6.   

    能不能问一下,在xp和98&2000下ado的connection赋值有什么不同?????
      

  7.   

    最好写成 sql := 'Select [id], [name] from grp order by [id]';因为id和name都是ado的保留字,有些时候可能出问题。