Access库,在数据提交前删除了要提交的重复记录,再添加,居然添加不了,也不提示错误。真是郁闷。

解决方案 »

  1.   

    你确认数据是否删除成功了呢?采用了什么ADO,BDE?还是啥,,都得说清楚点呀
      

  2.   

    access库,入库程序如下:
    function TForm1.IsWareExist(TableName:string;YMD:string;enddate:string;AStation:string): Boolean;
    begin
      DataSource1.Enabled:=False;
        ADOQuery1.close;
        ADOQuery1.SQL.clear;
        ADOQuery1.SQL.Add('Select * From '+TableName+' Where 日期='+QuotedStr(YMD)+' and '+QuotedStr(enddate)+' and 站点='+QuotedStr(AStation));
        ADOQuery1.open;
         Result := not ADOQuery1.IsEmpty;  //如果有重复则Result:= True;
    end;然后在入库时:
    IF(IsWareExist('表1',YMD,enddate,AStation))THEN  
      ADOQuery1.Edit
    ELSE
    BEGIN
     ADOQuery1.Append;
     ADOQuery1.Fields[0].AsString:=...;  //主键
     ADOQuery1.Fields[1].AsString:=...;  //主键
    END;
    for j:=0 to List.Count-1 do
     ADOQuery1.Fields[2].AsString:=...;
    ....
    ADOQuery1.post;以上总不能入库。请大家指点!
      

  3.   

    如果我不执行入库前判断重复再删除,则可以添加
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    设断点检查。看看IsWareExist返回是什么
      

  4.   

    不提示错误?换成提交insert语句呢
      

  5.   

    谢谢大家,是ADOQuery1.locktype的设置问题。