📄 tradeimportunit.~pas
字号:
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 统计月份>='+MonthFrom
+' and 统计月份<='+MonthTo+' and 企业代码='
+''''+SrcQuery.fieldbyname('企业代码').AsString+'''');
DesQuery.Open;
if (srcdata='公交企业统计月报表')and(srcdata<>'公交企业统计月报表_z') and (DesQuery.RecordCount>0) then
begin
if MessageBox(self.Handle,'在原数据库中包含需要导入的数据,是否覆盖原有数据?','注意',MB_OKCANCEL)=IDCANCEL then
begin
judge:=false;
exit;
end;
end;
SrcQuery.Next;
end;
SrcQuery.First;
for i:=0 to SrcQuery.RecordCount-1 do
begin
DesQuery.Close;
DesQuery.SQL.Clear;
DesQuery.SQL.Add('delete * from '+srcdata+' where 统计年份>='+YearFrom
+' and 统计年份<='+YearTo+' and 企业代码='+''''
+SrcQuery.fieldbyname('企业代码').AsString+''''
+' and 统计月份>='+MonthFrom+' and 统计月份<='+MonthTo);
DesQuery.ExecSQL;
SrcQuery.Next;
end;
SrcQuery.Close;
SrcQuery.SQL.Clear;
SrcQuery.SQL.Add('select * from '+srcdata+' where 统计年份>='+YearFrom+
' and 统计年份<='+YearTo+' and 统计月份>='+MonthFrom
+' and 统计月份<='+MonthTo);
SrcQuery.Open;
DesQuery.close;
DesQuery.SQL.Clear;
DesQuery.SQL.Add('select * from '+srcdata+' where 统计年份>='+YearFrom+
' and 统计年份<='+YearTo+
' and 统计月份>='+MonthFrom+' and 统计月份<='+MonthTo);
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.TableToTableYear(src:string;srcdata:string);
var
SrcQuery,DesQuery:TADOQuery;
i,j:integer;
begin
judge:=false;
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+' where '+
' 统计年份>='+YearFrom+' and 统计年份<='+YearTo);
SrcQuery.Open;
//-----------------
try
Clientdataset1.Close;
Clientdataset1.FileName:=Edit1.Text+src;
Clientdataset1.Open;
except
MessageBox(self.Handle,PCHAR(srcdata+'不能被导入,请检查导入文件'+src+'是否存在或格式是否正确。'),pchar('消息'),MB_OK);
judge:=false;
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.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 (srcdata='公交企业统计年报表')and(srcdata<>'公交企业统计年报表_z') and (DesQuery.RecordCount>1) then
begin
if MessageBox(self.Handle,'在原数据库中包含需要导入的数据,是否覆盖原有数据?','注意',MB_OKCANCEL)=IDCANCEL then
begin
judge:=false;
exit;
end;
end;
SrcQuery.Next;
end;
SrcQuery.First;
for i:=0 to SrcQuery.RecordCount-1 do
begin
DesQuery.Close;
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+' 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;
DesQuery.Post;
SrcQuery.Next;
end;
judge:=true;
end;
procedure TTradeImportFrm.TableToTableMonthHY(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+' where 统计年份>='+YearFrom+
' and 统计年份<='+YearTo+' and 统计月份>='+MonthFrom+
' and 统计月份<='+MonthTo);
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;
DesQuery:=TADOQuery.create(self);
DesQuery.Connection:=BusTradeDataModule.ADOConnection1;
DesQuery.Close;
DesQuery.SQL.Clear;
DesQuery.SQL.Add('select * from '+srcdata+' where 统计年份>='+YearFrom+
' and 统计年份<='+YearTo+' and 统计月份>='+MonthFrom+
' and 统计月份<='+MonthTo);
DesQuery.Open;
if (srcdata='公交行业统计月报表') and (srcdata<>'公交行业统计月报_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+' and 统计月份>='+MonthFrom+
' and 统计月份<='+MonthTo);
DesQuery.ExecSQL;
DesQuery.SQL.Clear;
DesQuery.SQL.Add('select * from '+srcdata+' where 统计年份>='+YearFrom+
' and 统计年份<='+YearTo+' and 统计月份>='+MonthFrom+
' and 统计月份<='+MonthTo);
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.TableToTableYearHY(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+' where '+
' 统计年份>='+YearFrom+' and 统计年份<='+YearTo);
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;
DesQuery:=TADOQuery.create(self);
DesQuery.Connection:=BusTradeDataModule.ADOConnection1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -