不知道在service里能不能对数据库进行操作?access可以吗?

解决方案 »

  1.   

    unit ADServer;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
      ExtCtrls,inifiles, DB, ADODB;type
      TADService = class(TService)
        Timer1: TTimer;
        query_copy: TADOQuery;
        ADOConnection1: TADOConnection;
        query_source: TADOQuery;
        procedure ServiceExecute(Sender: TService);
        procedure Timer1Timer(Sender: TObject);
      private
        { Private declarations }
      public
        function GetServiceController: TServiceController; override;
        { Public declarations }
      end;var
      ADService: TADService;implementation{$R *.DFM}procedure ServiceController(CtrlCode: DWord); stdcall;
    begin
      ADService.Controller(CtrlCode);
    end;function TADService.GetServiceController: TServiceController;
    begin
      Result := ServiceController;
    end;procedure TADService.ServiceExecute(Sender: TService);
    begin
         Timer1.Enabled := true;
         while not Terminated do
           ServiceThread.ProcessRequests(false);
         Timer1.Enabled := false;
    end;procedure TADService.Timer1Timer(Sender: TObject);
    var
    inifile : Tinifile;
    ptime : string;
    LocalTime : Ttime;
    id : integer;
    begin
         id := 0;
         inifile := TIniFile.Create('c:\ADServer.ini');
         ptime := inifile.ReadString('config','time','12:00:00');
         LocalTime := time;
         if copy(ptime,1,2) = copy(TimeTostr(LocalTime),1,2) then
         begin
            if copy(ptime,4,2) = copy(TimeTostr(LocalTime),4,2) then
            begin
               query_source.Open;
               while not query_source.Eof do
               begin
                  with query_copy do
                  begin
                  Close;
                  Parameters.ParamByName('#id').Value := id;
                  Parameters.ParamByName('#value').Value := query_source.FieldValues['Value'];
                  ExecSQL;
                  end;
                  query_source.Next;
                  id := id + 1;
               end;
            end;     end;
    end;end.
      

  2.   

    安装服务的命令  PADServer.exe/install