因为好多窗体单元都涉及到对adoquery的操作,所以我想写个过程,让所有的窗体单元都能调用这个过程。procedure ConnectToDataset(SQLtext:Tstring,adoq:Tadoquery)
begin
   adoq.close;
   adoq.sql.clear;
   adoq.sql.add(sqltext);
   try
     adoq.Open; //SQL返回结果,执行Open方法
   except 
     adoq.ExecSQL; //SQL无返回结果,执行ExecSQL方法
end;
 
我想让整个系统的所有窗体单元调用这个方法,怎么办?放在什么地方呢?

解决方案 »

  1.   

    新建一个unit,将过程的定义写在interface中.将程序的实现写在implementation中.
    如:
    unit common;
    interface
    uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB;procedure ConnectToDataset(SQLtext:Tstring,adoq:Tadoquery);
    implementation
    procedure ConnectToDataset(SQLtext:Tstring,adoq:Tadoquery)
    begin
       adoq.close;
       adoq.sql.clear;
       adoq.sql.add(sqltext);
       try
         adoq.Open; //SQL返回结果,执行Open方法
       except 
         adoq.ExecSQL; //SQL无返回结果,执行ExecSQL方法
    end;
    end.
    然后在你要调用的程序的uses 中加上 
    uses common,...
      

  2.   

    建一个公共单元(UNIT),在要用到它的窗体或单元中USES就OK了
      

  3.   

    unit common;  //注意,你的文件名必须为common
    interface
    uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB;procedure ConnectToDataset(SQLtext:string;adoq:Tadoquery);
    implementation
    procedure ConnectToDataset(SQLtext:string;adoq:Tadoquery);
    begin
       adoq.close;
       adoq.sql.clear;
       adoq.sql.add(sqltext);
       try
         adoq.Open; //SQL返回结果,执行Open方法
       except
         adoq.ExecSQL; //SQL无返回结果,执行ExecSQL方法
      end;
    end;
    end.