有两个数据库A,B。A有两表a,b  B有两表c,d
(a,b,  c,d 的结构都不同,只是有些字段相同)
现在我想把a(a与c相同字段)的数据传给c,
把b的数据传给d(若有相同的数据不传),怎么实现?

解决方案 »

  1.   

    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就可
      

  2.   

    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....)