最近用Adoquery遇到一个很困惑的问题。
例如:
   with adoquery1 do
   begin
       close;
       sql.clear;
       sql.add('Select * from t1');
       open;
    end;
    ............................
    with adoquery1 do
    begin
       close;
       sql.clear;
       sql.add('Delete from t2 where id=''1''');
       execSql;
    end;     如果照上面的写法,在某些机器上会出现错误。“Access viloation at address
1F487CAB in module 'msAdo15.dll'"
     而有些机器上不会出现,这是什么原因呢?
怎么解决呢?当然用不同的Adoquery对象来分别操作上面的两个操作,是没有问题的。但这样做,程序修改量就太多了。

解决方案 »

  1.   

    把其他机器上件'msAdo15.dll'的这个文件拷贝过来覆盖你的这个文
      

  2.   

    装MDAC看看 或者你把你的后面的adoquery1换成一个其他的试试 新建一个别的adoquery
      

  3.   

    同意 换一个MSADO15.Dll  因为小弟以前也遇到过一次这样的问题。
      

  4.   

    不是有最新的MDAC下载吗?
    拉一个回去吧。
      

  5.   

    我觉得可能是MSADO15.DLL版本太老了,也有可能是Delphi版本太老了,建议重新安装Delphi7.
      

  6.   

    换一个MSADO15.Dll,这个文件的版本有问题,并不是版本越新就越好,它对SELECT语句没有问题,只是对DELETE、UPDATE、INSERT有问题,建议使用2.53.6200.0这个版本的。