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;以上总不能入库。请大家指点!
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;以上总不能入库。请大家指点!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
设断点检查。看看IsWareExist返回是什么