unit UnitXZLYDSJ;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls, DB, ADODB;type
  TFrmXZLYDSJ = class(TForm)
    Panel4: TPanel;
    LblMessage: TLabel;
    BtnRetry: TButton;
    Panel3: TPanel;
    ProgressBar1: TProgressBar;
    GroupBox9: TGroupBox;
    BtnStart: TButton;
    BtnClose: TButton;
    PanelFCSJ: TPanel;
    GroupBox5: TGroupBox;
    DBGrid03: TDBGrid;
    LabelInfo: TLabel;
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;         // FrmMain.ADOConnection1
    procedure BtnRetryClick(Sender: TObject);
    procedure FormShow(Sender: TObject);    procedure   ShowData;
    procedure BtnStartClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  FrmXZLYDSJ: TFrmXZLYDSJ;
  threadid:dword;
  hthread:thandle;
  do1:boolean;
  procedure down1;implementationuses UnitMain; 
{$R *.dfm}procedure down1;
begin
  ProgressBar1.Max:=ADOQuery1.RecordCount;   // 54行
  ProgressBar1.Step:=1;
  ADOQuery1.First ;
  while not ADOQuery1.Eof do
  begin
     with ADOQuery2 do
     begin
       close;
       sql.Clear ;
       sql.add('select TOP 1 * from 运单表 where 运单号 = '''+ADOQuery1.FieldByName('运单号').AsString+'''');
       open;
       if not eof then
       begin
         ADOQuery2.Edit ;
         ADOQuery2.FieldByName('持票人').AsString:=ADOQuery1.FieldByName('持票人').AsString;
         ADOQuery2.FieldByName('领票日期').AsString:=ADOQuery1.FieldByName('领票日期').AsString;
         ADOQuery2.FieldByName('出车编号').AsString:=ADOQuery1.FieldByName('出车编号').AsString;
         ADOQuery2.Post ;
       end;
     end;
     ADOQuery1.Edit;
     ADOQuery1.FieldByName('已下载').AsBoolean:=true;
     ADOQuery1.Post;
     ADOQuery1.Next;
     ProgressBar1.StepIt;
  end;
   LabelInfo.Visible :=true;
   showdata;
   do1:=true;
end;procedure TFrmXZLYDSJ.BtnRetryClick(Sender: TObject);
begin
  try
    ADOConnection1.Connected:=False;
    ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=88888888;Persist Security Info=True;User ID=jld56;Initial Catalog=jld56;Data Source=255.255.255.255';
    ADOConnection1.LoginPrompt:=false;
    ADOConnection1.Connected:=true;
    LblMessage.Caption:='数据库连接成功!';
    BtnReTry.Enabled:=False;
  except
      LblMessage.Caption:='数据库连接失败,请确认网络连接无误后,按“重新连接”按钮!';
      BtnStart.Enabled:=False;
      BtnReTry.Enabled:=True;
  end;
  ShowData;
end;procedure TFrmXZLYDSJ.FormShow(Sender: TObject);
begin
  BtnRetry.Click;
  do1:=true;
end;procedure TFrmXZLYDSJ.ShowData;
begin
   LabelInfo.Visible :=false;
   with  ADOQuery1 do
   begin
     close;
     sql.Clear ;
     sql.Add(' select * from 领运单数据表 where 已下载 = 0 ');
     open;
     if RecordCount<=0 then
       BtnStart.Enabled :=false
     else
       BtnStart.Enabled :=true;     
   end;
end;procedure TFrmXZLYDSJ.BtnStartClick(Sender: TObject);
begin
  if MessageDlg('您确定要下载  领运单 数据吗?',mtConfirmation,[mbYes,mbNo],0)=mrNo then
    exit;
  if do1=true then
    begin
    hthread:=createthread(nil,0,@down1,nil,0,threadid);
    do1:=false;
    end;
end;procedure TFrmXZLYDSJ.BtnCloseClick(Sender: TObject);
begin
  if hthread>0 then
    terminatethread(hthread,2);
  close;end;end.[Error] UnitXZLYDSJ.pas(54): Undeclared identifier: 'ProgressBar1'
[Error] UnitXZLYDSJ.pas(54): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(54): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(55): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(56): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(57): 'DO' expected but identifier 'Eof' found
[Error] UnitXZLYDSJ.pas(59): Undeclared identifier: 'ADOQuery2'
[Error] UnitXZLYDSJ.pas(61): '(' expected but ';' found
[Error] UnitXZLYDSJ.pas(62): Undeclared identifier: 'sql'
[Error] UnitXZLYDSJ.pas(63): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(63): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(63): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(63): 'END' expected but ')' found
[Error] UnitXZLYDSJ.pas(65): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(67): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(68): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(68): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(68): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(68): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(69): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(69): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(69): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(69): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(70): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(70): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(70): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(70): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(71): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(75): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(76): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(76): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(77): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(78): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(79): Missing operator or semicolon
[Error] UnitXZLYDSJ.pas(81): Declaration expected but identifier 'LabelInfo' found
[Error] UnitXZLYDSJ.pas(84): '.' expected but ';' found
[Fatal Error] JLDZB.dpr(114): Could not compile used unit '..\下载领运单数据\UnitXZLYDSJ.pas'