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

📄 bustradecountmonunit.pas

📁 公交行业的管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
        ADOQuery1.Open;

        ADOQuery1.Edit;

        {写纵表}
        for iRow := 0 to 19 do
        begin
                iValue:=ListView1.Items[iRow].SubItems[2];
                iCode:='''' + ListView1.Items[iRow].SubItems[0] + '''';
                iCode1:=ListView1.Items[iRow].SubItems[0];
                //ADOQuery1.FieldByName(iCode).AsInteger:=iValue;
                ADOQuery1.FieldByName(iCode1).Value:=iValue;

                sqlString:= 'insert into 公交行业统计月报_z (城市代码,统计年份,统计月份,指标代码,本月实际) '
                          + ' values('+ '''' + '022' + '''' + ',' + iYear + ',' + iMonth + ','
                          + iCode + ',' + iValue + ')';

                ADOCommand1.CommandText:=sqlString;
                ADOCommand1.Execute;
        end;
        for iRow:=0 to 19 do
        begin
                iValue:=ListView1.Items[iRow].SubItems[6];
                iCode:='''' + ListView1.Items[iRow].SubItems[4] + '''';
                iCode1:=ListView1.Items[iRow].SubItems[4];
                ADOQuery1.FieldByName(iCode1).Value:=iValue;

                sqlString:= 'insert into 公交行业统计月报_z (城市代码,统计年份,统计月份,指标代码,本月实际) '
                          + ' values('+ '''' + '022' + '''' + ',' + iYear + ',' + iMonth + ','
                          + iCode + ',' + iValue + ')';

                ADOCommand1.CommandText:=sqlString;
                ADOCommand1.Execute;
        end;
        for iRow := 0 to 20 do
        begin
                iValue:=ListView2.Items[iRow].SubItems[2];
                iCode:='''' + ListView2.Items[iRow].SubItems[0] + '''';
                iCode1:=ListView2.Items[iRow].SubItems[0];

                ADOQuery1.FieldByName(iCode1).Value:=iValue;

                sqlString:= 'insert into 公交行业统计月报_z (城市代码,统计年份,统计月份,指标代码,本月实际) '
                          + ' values('+ '''' + '022' + '''' + ',' + iYear + ',' + iMonth + ','
                          + iCode + ',' + iValue + ')';

                ADOCommand1.CommandText:=sqlString;
                ADOCommand1.Execute;
        end;
        for iRow:=0 to 19 do
        begin
                iValue:=ListView2.Items[iRow].SubItems[6];
                iCode:='''' + ListView2.Items[iRow].SubItems[4] + '''';
                iCode1:=ListView2.Items[iRow].SubItems[4];
                {if (iRow >=0) and (iRow <=7) then
                begin
                        ADOQuery1.FieldByName(iCode).AsFloat:=iValue;
                end
                else if (iRow >=8) and (iRow<=9) then
                begin
                        ADOQuery1.FieldByName(iCode).AsInteger:=iValue;
                end
                else if (iRow=10) or (iRow=14) then
                begin
                        ADOQuery1.FieldByName(iCode).AsFloat:=iValue;
                end
                else if (iRow>=11) and (iRow <=13) then
                begin
                        ADOQuery1.FieldByName(iCode).AsInteger:=iValue;
                end
                else if (iRow>=15) and (iRow <=19) then
                begin
                        ADOQuery1.FieldByName(iCode).AsInteger:=iValue;
                end;
                }
                ADOQuery1.FieldByName(iCode1).Value:=iValue;

                sqlString:= 'insert into 公交行业统计月报_z (城市代码,统计年份,统计月份,指标代码,本月实际) '
                          + ' values('+ '''' + '022' + '''' + ',' + iYear + ',' + iMonth + ','
                          + iCode + ',' + iValue + ')';

                ADOCommand1.CommandText:=sqlString;
                ADOCommand1.Execute;
        end;

        ADOQuery1.Post;
        
        {for iCol=0 to  80 do
        begin
                if (iCol >=0) and (iCol<=19) then
                begin
                        ADOQuery1.FieldByName()
                end
                else if (iCol>=20) and (iCol <=39) then
                begin
                end
                else if (iCol>=40) and (iCol <=60) then
                begin
                end
                else if (iCol>=61) and (iCol <=80) then
                begin
                end;
        end;}

end;
{
procedure TBusTradeCountMonFm.Button1Click(Sender: TObject);
var
        iMonth:String;
        iYear:String;
        sqlString:String;
begin
        //生成需要汇总数据的年份和月份信息
        iMonth:=Edit2.Text;
        iYear:=Edit1.Text;

        //查询判断该年该月数据是否已经存在
        sqlString:='select 指标代码,本年本月实际 as 本月实际 from 公交行业统计月报_z where 统计年份='
                   + iYear + ' and 统计月份 = ' + iMonth;
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add(sqlString);
        ADOQuery1.Open;

        //如果数据存在,直接显示;否则,生成数据并显示
        if ADOQuery1.RecordCount<>0 then
        begin
                ShowMessage('该年该月的行业数据已存在!');
                DBGrid1.DataSource:= DataSource1;
        end
        else
        begin
                //判断企业数据中是否存在当年当月的数据
                sqlString:='select 指标代码 from 公交企业统计月报表_z where 统计年份='
                        + iYear + ' and 统计月份=' + iMonth;
                ADOQuery3.Close;
                ADOQuery3.SQL.Clear;
                ADOQuery3.SQL.Add(sqlString);
                ADOQuery3.Open;

                //如果不存在企业数据,录入;否则,汇总、显示
                if ADOQuery3.RecordCount=0 then
                begin
                        ShowMessage('不存在本年本月的企业月报数据,请先录入!');
                        exit;
                end
                else
                begin
                        sqlString:='insert into 公交行业统计月报_z (统计年份,统计月份,指标代码,本年本月实际) '
                                + ' select ' + iYear + ',' + iMonth + ', 指标代码,sum(本月实际)'
                                + ' from 公交企业统计月报表_z where 统计年份= ' + iYear + ' and 统计月份= '
                                + iMonth + ' group by 指标代码';
                        ADOCommand1.CommandText:=sqlString;
                        ADOCommand1.Execute;

                        sqlString:= 'select 指标代码,本年本月实际 as 本月实际 from 公交行业统计月报_z where 统计年份='
                        + iYear + ' and 统计月份 = ' + iMonth;

                        ADOQuery1.Close;
                        ADOQuery1.SQL.Clear;
                        ADOQuery1.SQL.Add(sqlString);
                        ADOQuery1.Open;
                        DBGrid1.DataSource:= DataSource1;
                end;
        end;

end;
}
{procedure TBusTradeCountMonFm.Button2Click(Sender: TObject);
var
        iMonth:String;
        iYear:String;
        sqlString:String;

begin
        //生成需要汇总数据的年份和月份信息
        iMonth:=Edit2.Text;
        iYear:=Edit1.Text;

        //查询判断该年该月数据是否已经存在
        sqlString:='SELECT sum(a.本年本月实际) AS 累计, a.指标代码, max(b.本年本月实际) AS 本月实际 '
                +' FROM 公交行业统计月报_z AS a, 公交行业统计月报_z AS b'
                +' WHERE a.统计年份=' + iYear + ' and a.统计月份<= ' + iMonth
                +' and b.统计年份=' + iYear + ' and b.统计月份=' + iMonth
                +' and b.指标代码=a.指标代码 GROUP BY a.指标代码';

        ADOQuery4.Close;
        ADOQuery4.SQL.Clear;
        ADOQuery4.SQL.Add(sqlString);
        ADOQuery4.Open;

        if ADOQuery4.RecordCount=0 then
        begin
                ShowMessage('尚无该年该月的行业月报数据,请先汇总生成该统计数据!');
                exit;
        end
        else
                DBGrid1.DataSource:=DataSource2;
        begin

        end;

end;
}
procedure TBusTradeCountMonFm.BitBtn1Click(Sender: TObject);
var
        iMonth:String;
        iYear:String;
        sqlString:String;
        iRecNum:Integer;
        iRow:Integer;
        iCityCode:String;
        sMemoInfo:String;
        iHTableName:String;
begin
        //生成需要汇总数据的年份和月份信息

        iMonth:=ComboBox2.Text;
        iYear:=ComboBox1.Text;
        if (iYear<'1990') or (iYear >'2030') then
        begin
                ShowMessage('请输入在时间范围1990-2030内的合法年份!');
                exit;
        end
        else if (iMonth='') then
        begin
                ShowMessage('请选择月份!');
                exit;
        end;

        iHTableName:='公交行业统计月报表';

        iCityCode:='''' + '022' + '''';

        iUpdateFlagH:=0;
        sqlString:='select * from ' + iHTableName + ' where 城市代码=' + iCityCode
                  +' and 统计年份=' + iYear + ' and 统计月份=' + iMonth
                  +' and 生成方式=' + '''' + '生成' + '''';
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add(sqlString);
        ADOQuery1.Open;
        if ADOQuery1.RecordCount<>0 then
        begin
                iUpdateFlagH:=1;
        end;

        //查询判断该年该月数据是否已经存在
        sqlString:='select 指标代码,本月实际 from 公交行业统计月报_z where '
                  +' 城市代码=' + iCityCode + ' and 统计年份='
                   + iYear + ' and 统计月份 = ' + iMonth + ' order by 指标代码';
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add(sqlString);
        ADOQuery1.Open;

        //如果数据存在,直接显示;否则,生成数据并显示
        if ADOQuery1.RecordCount<>0 then
        begin
                ADOQuery1.First;
                for iRow:=0 to ADOQuery1.RecordCount do
                begin
                        if ADOQuery1.FieldByName('本月实际').Value<>0 then
                        begin
                                if(MessageDlg('数据库中已经存在' + iYear + '年' + iMonth + '月的行业月报,是否覆盖?',mtConfirmation,[mbYes, mbNo],0) = mrNo)then
                                begin
                                        BitBtn4Click(Sender);
                                        exit;//不覆盖退出
                                end
                                else
                                begin
                                        iUpdateFlag:=1;//覆盖,置覆盖标志位
                                        break;
                                end;
                        end;
                        ADOQuery1.Next;
                end;
                iUpdateFlag:=1;
        end
        else
        begin
                iUpdateFlag:=0;
        end;
                //判断企业数据中是否存在当年当月的数据
        sqlString:='select a.指标代码 from 公交企业统计月报表_z a,公用事业单位基本情况表 b where '
                  +' b.统计年份=' + iYear + ' and b.城市代码=' + '''' + '022' + '''' + ' and a.企业代码=b.单位代码 and a.统计年份='
                  + iYear + ' and a.统计月份=' + iMonth;
        ADOQuery3.Close;
        ADOQuery3.SQL.Clear;
        ADOQuery3.SQL.Add(sqlString);
        ADOQuery3.Open;

        //如果不存在企业数据,录入;否则,汇总、显示
        if ADOQuery3.RecordCount=0 then
        begin
                ShowMessage('不存在' + iYear + '年' + iMonth + '月的企业月报数据,请先录入!');
                BitBtn2.Enabled:=false;

⌨️ 快捷键说明

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