?? bustradeyearrepunit.~pas
字號:
unit BusTradeYearRepUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, ADODB, DB;
type
TBusTradeYearRepFrm = class(TForm)
Panel1: TPanel;
Panel7: TPanel;
Panel2: TPanel;
Panel8: TPanel;
Label6: TLabel;
Panel3: TPanel;
Label2: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
Panel4: TPanel;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn2: TBitBtn;
ADOQuery1: TADOQuery;
ADOQuery3: TADOQuery;
ADOCommand1: TADOCommand;
Panel5: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ListView1: TListView;
TabSheet2: TTabSheet;
ListView2: TListView;
Memo1: TMemo;
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
iExistFlag:Integer;
iUpdateFlag:Integer;
iUpdateFlagH:Integer;
procedure SpecYearData;
procedure WriteMonData();
procedure UpdateMonData();
end;
var
BusTradeYearRepFrm: TBusTradeYearRepFrm;
implementation
uses BusTradeDataModuleUnit, PrintInfoUnit, PrintProc;
{$R *.dfm}
procedure TBusTradeYearRepFrm.SpecYearData;
var
iRow:Integer;
iCol:Integer;
sqlString:String;
iYear:String;
iValue:String;
iCode:String;
iCode1:String;
begin
iYear:=ComboBox1.Text;
{寫橫表}
sqlString:='insert into 公交行業統計年報表 (城市代碼,統計年份,生成方式,備注) values('
+'''' + '022' + '''' + ',' + iYear + ',' + '''' + '生成' + ''''
+','+ '''' + Memo1.Lines.Strings[0]+'''' + ')';
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
sqlString:='select * from 公交行業統計年報表 where 城市代碼='+'''' + '022' + ''''
+ ' and 生成方式=' + '''' + '生成' + '''' + 'and 統計年份=' + iYear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlString);
ADOQuery1.Open;
ADOQuery1.Edit;
ADOQuery1.FieldByName('備注').Value:=Memo1.Lines.Strings[1];
{更新寫縱表}
for iRow := 0 to 22 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:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
for iRow:=0 to 22 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 + ')';}
sqlString:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
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(iCode).AsFloat:=iValue;
ADOQuery1.FieldByName(iCode1).Value:=iValue;
sqlString:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
for iRow:=0 to 18 do
begin
iValue:=ListView2.Items[iRow].SubItems[6];
iCode:='''' + ListView2.Items[iRow].SubItems[4] + '''';
iCode1:=ListView2.Items[iRow].SubItems[4];
ADOQuery1.FieldByName(iCode1).Value:=iValue;
sqlString:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
ADOQuery1.Post;
end;
procedure TBusTradeYearRepFrm.UpdateMonData();
var
iRow:Integer;
iCol:Integer;
sqlString:String;
iYear:String;
iValue:String;
iCode:String;
iCode1:String;
begin
iYear:=ComboBox1.Text;
{更新橫表}
{sqlString:='insert into 公交行業統計月報表 (城市代碼,統計年份,統計月份,生成方式) values('
+'''' + '022' + '''' + ',' + iYear + ',' + iMonth + ',' + '''' + '生成' + '''' + ')';
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
}
sqlString:='select * from 公交行業統計年報表 where 城市代碼='+'''' + '022' + ''''
+ ' and 生成方式=' + '''' + '生成' + '''' + 'and 統計年份=' + iYear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlString);
ADOQuery1.Open;
ADOQuery1.Edit;
ADOQuery1.FieldByName('備注').Value:=Memo1.Lines.Strings[1];
{更新寫縱表}
for iRow := 0 to 22 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:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
for iRow:=0 to 22 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 + ')';}
sqlString:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
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(iCode).AsFloat:=iValue;
ADOQuery1.FieldByName(iCode1).Value:=iValue;
sqlString:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
for iRow:=0 to 18 do
begin
iValue:=ListView2.Items[iRow].SubItems[6];
iCode:='''' + ListView2.Items[iRow].SubItems[4] + '''';
iCode1:=ListView2.Items[iRow].SubItems[4];
ADOQuery1.FieldByName(iCode1).Value:=iValue;
sqlString:= 'update 公交行業統計年報_z set 全年實際=' + iValue
+ ' where 城市代碼=' + '''' + '022' + '''' + ' and 統計年份=' + iYear
+ ' and 指標代碼= ' + iCode;
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
ADOQuery1.Post;
end;
procedure TBusTradeYearRepFrm.WriteMonData();
var
iRow:Integer;
iCol:Integer;
sqlString:String;
iYear:String;
iValue:String;
iCode:String;
iCode1:String;
begin
iYear:=ComboBox1.Text;
{寫橫表}
sqlString:='insert into 公交行業統計年報表 (城市代碼,統計年份,生成方式,備注) values('
+'''' + '022' + '''' + ',' + iYear + ',' + '''' + '生成' + ''''
+','+ '''' + Memo1.Lines.Strings[0]+'''' + ')';
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
sqlString:='select * from 公交行業統計年報表 where 城市代碼='+'''' + '022' + ''''
+ ' and 生成方式=' + '''' + '生成' + '''' + 'and 統計年份=' + iYear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlString);
ADOQuery1.Open;
ADOQuery1.Edit;
{寫縱表}
for iRow := 0 to 22 do
begin
iValue:=ListView1.Items[iRow].SubItems[2];
iCode:='''' + ListView1.Items[iRow].SubItems[0] + '''';
iCode1:=ListView1.Items[iRow].SubItems[0];
ADOQuery1.FieldByName(iCode1).Value:=iValue;
sqlString:= 'insert into 公交行業統計年報_z (城市代碼,統計年份,指標代碼,全年實際) '
+ ' values('+ '''' + '022' + '''' + ',' + iYear + ','
+ iCode + ',' + iValue + ')';
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
for iRow:=0 to 22 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 + ','
+ 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 + ','
+ iCode + ',' + iValue + ')';
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
for iRow:=0 to 18 do
begin
iValue:=ListView2.Items[iRow].SubItems[6];
iCode:='''' + ListView2.Items[iRow].SubItems[4] + '''';
iCode1:=ListView2.Items[iRow].SubItems[4];
ADOQuery1.FieldByName(iCode1).Value:=iValue;
sqlString:= 'insert into 公交行業統計年報_z (城市代碼,統計年份,指標代碼,全年實際) '
+ ' values('+ '''' + '022' + '''' + ',' + iYear + ','
+ iCode + ',' + iValue + ')';
ADOCommand1.CommandText:=sqlString;
ADOCommand1.Execute;
end;
ADOQuery1.Post;
end;
procedure TBusTradeYearRepFrm.BitBtn3Click(Sender: TObject);
begin
BusTradeYearRepFrm.Close;
end;
procedure TBusTradeYearRepFrm.BitBtn4Click(Sender: TObject);
var
iYear:String;
sqlString:String;
iRecNum:Integer;
iCityCode:String;
begin
iExistFlag:=0;
iYear:=ComboBox1.Text;
if (iYear<'1990') or (iYear >'2030') then
begin
ShowMessage('請輸入在時間范圍1990-2030內的合法年份!');
exit;
end;
iCityCode:='''' + '022' + '''';
//查詢判斷該年該月數據是否已經存在
sqlString:='select 指標代碼,全年實際 as 實際 from 公交行業統計年報_z where '
+' 城市代碼=' + iCityCode + ' and 統計年份='
+ iYear + ' order by 指標代碼';
ADOQuery1.Close;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -