var I: integer; sN: string; begin with DataModule1 do begin if not aqryGoodsRefuse.Active then exit; aqryGoodsRefuse.DisableControls; aqryGoodsRefuse.First; while not aqryGoodsRefuse.Eof do begin atblpodesla.Append; for i := 0 to aqryGoodsRefuse.FieldCount - 1 do begin sN := aqryGoodsRefuse.FieldList.Strings[i]; if (atblpodesla.FieldList.IndexOf(sN) > 0) and (not aqryGoodsRefuse.Fields[i].IsNull) then begin atblpodesla.FieldValues[sN] := aqryGoodsRefuse.FieldValues[sN]; end; end; atblpodesla.Post; aqryGoodsRefuse.Next; end; aqryGoodsRefuse.EnableControls; end;类似上面的代码就可,我的是Access数据库! 如果是SQLServer的,可直接用SQL就可
insert into B..c(field1,field2.....) select field1,field2,..... from A..a where not exists(select * from c where c.field1=a.field1 and c.field2=a.field2....)
begin
with DataModule1 do
begin
if not aqryGoodsRefuse.Active then exit; aqryGoodsRefuse.DisableControls;
aqryGoodsRefuse.First;
while not aqryGoodsRefuse.Eof do
begin
atblpodesla.Append;
for i := 0 to aqryGoodsRefuse.FieldCount - 1 do
begin
sN := aqryGoodsRefuse.FieldList.Strings[i]; if (atblpodesla.FieldList.IndexOf(sN) > 0) and (not aqryGoodsRefuse.Fields[i].IsNull) then
begin
atblpodesla.FieldValues[sN] := aqryGoodsRefuse.FieldValues[sN];
end; end;
atblpodesla.Post;
aqryGoodsRefuse.Next;
end;
aqryGoodsRefuse.EnableControls;
end;类似上面的代码就可,我的是Access数据库!
如果是SQLServer的,可直接用SQL就可
select field1,field2,..... from A..a
where not exists(select * from c where c.field1=a.field1 and c.field2=a.field2....)