两句SQL执行顺序语句:
with ADOQuery1 do
begin
  Active:=false;
  SQL.text:='select * from table1';
  Active:=true;
end;.........with ADOQuery1 do
begin
  Active:=false;
  SQL.text:='delete table1';
  ExecSQL;//出错的地方
end;1、如果先用一个TADOQuery Open一个数据集,delete;或者edit等ADO函数,不会出错。2、如果先 用SQL语句Open,然后执行相关 delete 或者 update 就会错误,提示 MSADO15.DLL 的地址错误,如果不Open,直接执行相关 delete 或者 update,不会出错。delphi5,ADO补丁打了的。
何解?

解决方案 »

  1.   

    应该是'delete from table1'吧?
      

  2.   

    要是删除表本身的话,应该是‘drop table table1’吧?
      

  3.   

    'delete table1'应该为 ''delete from table1''这是我写在这里的时候写错了。SQL语句没有错!to chwdong(chwdong) :
      Parodox表中排序是什么概念?
      

  4.   

    你的两个程序段是在同个pas文件里的吧!
    如果你中间没clear的话,当然要出错了
    begin
      clear;//加上这看看
      Active:=false;
      SQL.text:='delete table1';//这里提交的语句也有问题
      ExecSQL;//出错的地方
    end;
      

  5.   

    begin
      Active:=false;
      clear;
      SQL.text:='delete table1';
      ExecSQL;//出错的地方
    end;
    写错了,不好意思
      

  6.   

    不好意思,删除数据的SQL语句没问题,开始那是笔误。
    to  delphi0build(超级模块) :Clear是个什么命令?ADOQuery 没有这个函数阿。是不是ClearFields?这个函数好像跟这个没关系。
      

  7.   

    这段代码在连接access或者SQL Server的时候不会出问题,就只有在Paradox下才这样。怎样才能搞定????????
      

  8.   

    哈哈,你这个代码可以正确的操作access?,天了!你真牛比!access德内建功能只能使用dao!AdoQuery是没有clear了!不过adoquery.SQL.clear一定没有问题!