⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tradeimportunit.pas

📁 公交行业的管理系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    DesQuery.Close;
    DesQuery.SQL.Clear;
    DesQuery.SQL.Add('select * from '+srcdata+' where  '+
                     ' 统计年份>='+YearFrom+' and 统计年份<='+YearTo);
    DesQuery.Open;

    if ((srcdata='公交行业综合年报表') or (srcdata='公交行业统计年报表')) and (srcdata<>'公交行业综合年报_z') and (src<>'公交行业统计年报表_z') and (DesQuery.RecordCount>0) then
    begin
        if MessageBox(self.Handle,'在原数据库中包含需要导入的数据,是否覆盖原有数据?','注意',MB_OKCANCEL)=IDCANCEL then
        begin
                judge:=false;
                exit;
        end;
    end;

    DesQuery.Close;
    DesQuery.SQL.Clear;
    DesQuery.SQL.Add('delete * from '+srcdata+' where 统计年份>='+YearFrom+
                     ' and 统计年份<='+YearTo);
    DesQuery.ExecSQL;
    DesQuery.SQL.Clear;
    DesQuery.SQL.Add('select * from '+srcdata+' where  '+
                     ' 统计年份>='+YearFrom+' and 统计年份<='+YearTo);
    DesQuery.Open;
    SrcQuery.First;
    while not SrcQuery.Eof do
    begin
        DesQuery.Append;
        for i:=0 to SrcQuery.FieldCount-1 do
            for j:=0 to DesQuery.FieldCount-1 do
            if(SrcQuery.Fields[i].FieldName=DesQuery.Fields[j].FieldName)then
            begin
               if(SrcQuery.Fields[i].FieldName<>'ID')then
               begin
                     DesQuery.Fields[j].Value:=SrcQuery.Fields[i].Value;
                     break;
               end;
            end;
       SrcQuery.Next;
       DesQuery.Post;
   end;
       judge:=true;
end;
procedure TTradeImportFrm.BitBtn8Click(Sender: TObject);
begin
        judge:=true;
        if Edit1.Text='' then
        begin
             showmessage('请输入导入数据的位置');
             exit;
        end;
        if ComboBox5.Text='' then
        begin
                showmessage('对不起!起始年份不能为空!请重新选择条件!');
                exit;
        end;
        if ComboBox6.Text='' then
        begin
                showmessage('对不起!终止年份不能为空!请重新选择条件!');
                exit;
        end;
        if (Length(ComboBox5.Text)<>4) or ((Length(ComboBox6.Text)<>4)) then
        begin
                showmessage('对不起!您选择的年份非法!请重新选择!');
                exit;
        end;
        try
                temp:=StrToInt(ComboBox5.Text);
        except
                showmessage('起始年份非法!请重新选择!');
                exit;
        end;
        try
                temp:=StrToInt(ComboBox6.Text);
        except
                showmessage('终止年份非法!请重新选择!');
                exit;
        end;
        if (StrToInt(ComboBox5.Text)<1900) or (StrToInt(ComboBox5.Text)>3000) then
        begin
                showmessage('对不起!您选择的"起始年份"非法!请重新选择!');
                exit;
        end;
        if (StrToInt(ComboBox6.Text)<1900) or (StrToInt(ComboBox6.Text)>3000) then
        begin
                showmessage('对不起!您选择的"终止年份"非法!请重新选择!');
                exit;
        end;
        if StrToInt(ComboBox5.Text)>StrToInt(ComboBox6.Text) then
        begin
                showmessage('对不起!起始年份不能大于终止年份!请重新选择条件!');
                exit;
        end;
        try
          YearFrom:=ComboBox5.Text;
          YearTo:=ComboBox6.Text;
          Screen.Cursor:=crHourGlass;
          TableToTableYear('gjyear.data','公交企业统计年报表');
          if judge=false then StrToInt('sf');
          TableToTableYear('gjyear_z.data','公交企业统计年报表_z');
          if judge=false then StrToInt('sf');
          showmessage('数据导入成功!');
          RichEdit1.Lines.Add('公交企业统计年报表导入成功!');
       except
          showmessage('数据导入失败!');
          RichEdit1.Lines.Add('公交企业统计年报表导入失败');
       end;
       Screen.Cursor:=crDefault;
end;

procedure TTradeImportFrm.BitBtn17Click(Sender: TObject);
begin
        judge:=true;
        if Edit1.Text='' then
        begin
                showmessage('请输入导入数据的位置');
                exit;
        end;
        if ComboBox15.Text='' then
        begin
                showmessage('对不起!起始年份不能为空!请重新选择条件!');
                exit;
        end;
        if ComboBox16.Text='' then
        begin
                showmessage('对不起!终止年份不能为空!请重新选择条件!');
                exit;
        end;
        if (Length(ComboBox15.Text)<>4) or ((Length(ComboBox16.Text)<>4)) then
        begin
                showmessage('对不起!您选择的年份非法!请重新选择!');
                exit;
        end;
        try
                temp:=StrToInt(ComboBox15.Text);
        except
                showmessage('起始年份非法!请重新选择!');
                exit;
        end;
        try
                temp:=StrToInt(ComboBox16.Text);
        except
                showmessage('终止年份非法!请重新选择!');
                exit;
        end;
        if (StrToInt(ComboBox15.Text)<1900) or (StrToInt(ComboBox15.Text)>3000) then
        begin
                showmessage('对不起!您选择的"起始年份"非法!请重新选择!');
                exit;
        end;
        if (StrToInt(ComboBox16.Text)<1900) or (StrToInt(ComboBox16.Text)>3000) then
        begin
                showmessage('对不起!您选择的"终止年份"非法!请重新选择!');
                exit;
        end;
        if StrToInt(ComboBox15.Text)>StrToInt(ComboBox16.Text) then
        begin
                showmessage('对不起!起始年份不能大于终止年份!请重新选择条件!');
                exit;
        end;
        try
                YearFrom:=ComboBox15.Text;
                YearTo:=ComboBox16.Text;
                Screen.Cursor:=crHourGlass;
                TableToTableEpr('name.data','公用事业单位基本情况表');
                if judge=false then exit;
                TableToTableYear('mainservice.data','主要业务活动表');
                if judge=false then exit;
                showmessage('数据导入成功!');
                RichEdit1.Lines.Add('公用事业单位基本情况表导入成功');
        except
                showmessage('数据导入失败!');
                RichEdit1.Lines.Add('公用事业单位基本情况表导入失败');
        end;
        Screen.Cursor:=crDefault;
end;
procedure TTradeImportFrm.TableToTableEpr(src:string;srcdata:string);
var
SrcQuery,DesQuery:TADOQuery;
i,j:integer;
begin
    SrcQuery:=TADOQuery.create(self);
    SrcQuery.Connection:=ADOConnection1;
    SrcQuery.SQL.Clear;
    SrcQuery.SQL.Add('delete from '+srcdata);
    SrcQuery.ExecSQL;
    SrcQuery.SQL.Clear;
    SrcQuery.SQL.Add('select * from  '+srcdata);
    SrcQuery.Open;
     //------------------------
       try
                Clientdataset1.Close;
                Clientdataset1.FileName:=Edit1.Text+src;
                Clientdataset1.Open;
        except
                 MessageBox(self.Handle,PCHAR(srcdata+'不能被导入,请检查导入文件'+src+'是否存在或格式是否正确。'),pchar('消息'),MB_OK);
                 exit;
        end;
        Clientdataset1.First;
        while not Clientdataset1.Eof do
        begin
                SrcQuery.Append;
                for i:=0 to SrcQuery.FieldCount-1 do
                        for j:=0 to Clientdataset1.FieldCount-1 do
                                if(SrcQuery.Fields[i].FieldName=Clientdataset1.Fields[j].FieldName)then
                                begin
                                        if(SrcQuery.Fields[i].FieldName<>'ID')then
                                        begin
                                               SrcQuery.Fields[i].Value:=Clientdataset1.Fields[j].Value;
                                        end;
                                end;
                SrcQuery.Post;
                clientdataset1.Next;
        end;
        //------------------------
    if (SrcQuery.RecordCount=0) then
    begin
         showmessage('导入的源数据库没有所需数据!');
         judge:=false;
         exit;
    end;
    SrcQuery.Close;
    SrcQuery.SQL.Clear;
    SrcQuery.SQL.Add('select distinct 单位代码 from '+srcdata+' where 统计年份>='+YearFrom
                     +' and 统计年份<='+YearTo);
    SrcQuery.Open;

    DesQuery:=TADOQuery.create(self);
    DesQuery.Connection:=BusTradeDataModule.ADOConnection1;
    for i:=0 to SrcQuery.RecordCount-1 do
    begin
            DesQuery.Close;
            DesQuery.SQL.Clear;
            DesQuery.SQL.Add('select * from  '+srcdata+' where 统计年份>='+YearFrom+
                     ' and 统计年份<='+YearTo+' and 单位代码='
                     +''''+SrcQuery.fieldbyname('单位代码').AsString+'''');
            DesQuery.Open;
            if (DesQuery.RecordCount>0) then
            begin
                break;
            end;
        SrcQuery.Next;
    end;
     if (i<=SrcQuery.RecordCount-1) and (MessageBox(self.Handle,'在原数据库中包含数据,是否覆盖原有数据?','注意',MB_OKCANCEL)=IDCANCEL) then
     begin
        judge:=false;
        exit;
     end;
    SrcQuery.First;
    for i:=0 to SrcQuery.RecordCount-1 do
    begin
            DesQuery.SQL.Clear;
            DesQuery.SQL.Add('delete * from '+srcdata+' where 统计年份>='+YearFrom
                     +' and 统计年份<='+YearTo+' and 单位代码='+''''
                     +SrcQuery.fieldbyname('单位代码').AsString+'''');
            DesQuery.ExecSQL;
            SrcQuery.Next;
    end;
    SrcQuery.Close;
    SrcQuery.SQL.Clear;
    SrcQuery.SQL.Add('select * from '+srcdata+' where 统计年份>='+YearFrom+
                     ' and 统计年份<='+YearTo);
    SrcQuery.Open;
    DesQuery.SQL.Clear;
    DesQuery.SQL.Add('select * from  '+srcdata);
    DesQuery.Open;
    SrcQuery.First;
    while not SrcQuery.Eof do
    begin
        DesQuery.Append;
        for i:=0 to SrcQuery.FieldCount-1 do
                for j:=0 to DesQuery.FieldCount-1 do
                if(SrcQuery.Fields[i].FieldName=DesQuery.Fields[j].FieldName)then
                begin
                   if(SrcQuery.Fields[i].FieldName<>'ID')then
                   begin
                         DesQuery.Fields[j].Value:=SrcQuery.Fields[i].Value;
                         break;
                   end;
                end;
                DesQuery.Post;
        SrcQuery.Next;
    end;
        judge:=true;
end;
procedure TTradeImportFrm.BitBtn14Click(Sender: TObject);
begin
          judge:=true;
          if Edit1.Text='' then
          begin
                showmessage('请输入导入数据的位置');
                exit;
          end;
          if ComboBox9.Text='' then
          begin
                showmessage('对不起!起始年份不能为空!请重新选择条件!');
                exit;
             end;
          if ComboBox10.Text='' then
          begin
                showmessage('对不起!终止年份不能为空!请重新选择条件!');
                exit;
          end;
        if (Length(ComboBox9.Text)<>4) or ((Length(ComboBox10.Text)<>4)) then
        begin
                showmessage('对不起!您选择的年份非法!请重新选择!');
                exit;
        end;
        try
                temp:=StrToInt(ComboBox9.Text);
        except
                showmessage('起始年份非法!请重新选择!');
                exit;
        end;
        try
                temp:=StrToInt(ComboBox10.Text);
        except
                showmessage('终止年份非法!请重新选择!');
                exit;
        end;
        if (StrToInt(ComboBox9.Text)<1900) or (StrToInt(ComboBox9.Text)>3000) then
        begin
                showmessage('对不起!您选择的"起始年份"非法!请重新选择!');
                exit;
        end;
        if (StrToInt(ComboBox10.Text)<1900) or (StrToInt(ComboBox10.Text)>3000) then
        begin
                showmessage('对不起!您选择的"终止年份"非法!请重新选择!');
                exit;
        end;
          if StrToInt(ComboBox9.Text)>StrToInt(ComboBox10.Text) then
          begin
                showmessage('对不起!起始年份不能大于终止年份!请重新选择条件!');
                exit;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -