我现在要在表中添加数据,但是添加的数据可能是表中已有的,所以要添加的是表中原来没有的数据。比如说表中原有的是4,5,6  现在要添加的数据是4,5,6,7,8。实际上我就只要把数据变成4,5,6,7,8。
这是我的代码:(其中Car是原表名,adoquery1是新数据的表名)
adoquery1.first;
while not adoquery1.Eof do
flag:=0;
DMForm.Car.First;
    while not DMForm.Car.Eof do
      begin
        if (adoquery1.FieldByNam('Cardno').AsString=DMForm.Car.FieldByName('Cardno').AsString) and (adoquery1.FieldByName('EnterDatetime').AsDateTime=DMForm.Car.FieldByName('EnterDatetime').AsDateTime) then
          begin
            flag:=1;
            break;
          end
        else
          DMForm.Car.Next;
      end;
    if flag=0 then
      DMForm.Car.AppendRecord([adoquery1.FieldByName('cardno').AsString,adoquery1.FieldByName('EnterDatetime').AsDateTime,adoquery1.FieldByName('OutDateTime').AsDateTime,strtofloat(js)]);
    adoquery1.Next;我得到的结果是根本就没有过滤掉一样的数据,还把他们都加上去了。flag好象总是0,不会变成1的。这是什么问题呢???
我不能原表中全部数据删了再写,因为原表中还有其他的字段是要的。