你用ODBC进行访问吗?出现那样的问题应该跟ODBC没有关系的,你可以把源程序COPY到客户的机子上去调试一下,看一下真正的原因

解决方案 »

  1.   

    我也遇到过这样的问题,装过SQL2000在也恢复不了SQL7,最后没办法从装了机器。
    不过你为事么不用Delphi中的BDE,而用ODBC呢?Delphi中ODBC速度要比BDE慢得多,
    如果你在程序中使用了TDatabase控件,我想修改一下连接应该是很快的,仅供参考。
      

  2.   

    我认为你应该是用ADO进行编程的吧 
      

  3.   

    与jcq的看法正常相反,当安装2000时其自带的odbc有问题,当结果集为空时在关闭时会出错或通过while (tb.eof)进行记录循环时到最后条时如果直接关闭会出现此种错误.
    解决办法
    1.将其odbc代替成win2000自带的odbc,大致的有7M大.
    2.当关闭结果集前将指针显式的指向一个绝对位置如last,first然后再关闭
      

  4.   

        问题解决了,原来是Delphi5的ADO和Microsoft的MDAC2.6不兼容造成的,到Borland的网站上下载一个补丁(d5adoupdate2.exe),安装后,重新编译一下Delphi的source\vcl就可以了。感谢大家的参与,来者有分!
      

  5.   

    不好意思我的是打过补丁的,我的开发环境跟你客户的一样就是不会出错,你不是说已经打了补丁了吗?你程序里面的SQL语句没有用参数吗?不会吧,应该在设计的时候就会发生错误的。
      

  6.   

    问题虽然解决但原因不在delphi,而是ODBC,已经用ASP脚本进行测试,对于空结果有问题,通过!eof进行记录循环也有问题.
    注意:SQL2000所带的ODBC,WIN2K Service Pack2所带的ODBC均有此类问题.