1:
procedure OpenQuery(var Query:TADOQuery);
  begin
   query.close;
   query.sql.clear;
   query.sql.add('select * from ok');
   query.sql.open;
   。
   。
  end;2:
procedure Tfrom2.OpenQuery();
  begin
   adoquery1.close;
   adoquery1.sql.clear;
   adoquery1.sql.add('select * from ok');
   adoquery1.sql.open;
   。
   。
  end;

解决方案 »

  1.   

    在其中一个模块中写一个函数:
    function ExecSql(Query:TQuery;SQL:string):TDataSet;
    begin
        Query.Close;
        Query.SQL.Clear;
        Query.SQL.Add(SQL);
        Query.Open;
        result:=Query;
        ......
    end;
    传参数调用即可。
      

  2.   

    和数据库数据库有关的控件通常是放在一个DataModule上,而对数据的操作,一般也是写在这个单元里啦。Borland给出DataModule的目的也在于此,以后升级到N层数据库应用,只需要修改这个单元的东东就OK啦。
      

  3.   

    可将这几句代码写在一个DataModule中,然后在客户端调用,如果在DataModule也有这个问题,那就在DataModule中写个方法,在DataModule中调用。
      

  4.   

    你可以增加Form1的方法,然后,在需要的地方调用就行啦