begin
 query1.close;
 query1.sql.clear;
query1.sql.add('delete from country where name="america"');
query1.open
end;
我想问一下这段代码,为什么要先query1.close然后再query1.open

解决方案 »

  1.   

    query的连接终止以后才能修改SQL的值,为了确保能够修改SQL的值,才需要在修改以前Close一下,关闭query的连接.
      

  2.   

    //程序有需要改正的地方:
    begin
      query1.close;
      query1.sql.clear;
      query1.sql.add('delete from country where name="america"');
      query1.ExecSQL;  //更换query1.open
    end;//如果你是想返回查询记录集,可用:
    Begin
      query1.close;
      query1.sql.clear;
      query1.sql.add('select * from country where name='''+'america'+'''');
      query1.open;
    End;
    //因为必须先关闭原来的记录集,才能Open新的记录集。