while not eof do
begin
i:=FieldByName('SPBH').AsString.Trim();
t:=FieldByName('CKM').AsString.Trim();
if (DataSetBroker1.DataSet.Locate('SPBH',i,[]) = true) and (DataSetBroker1.DataSet.Locate('PDCK',t,[]) = true) then
begin
end
else
begin
with inDataSet do
begin
sql.Text := 'insert SPZDPYPK (SPBH,PDCK,SPMC,KCL,DJ,JE,PH,DW) select SPBH,CKM,SPQM,KCSL,CBJJ,KCJE,TM,DW From SPKCZKB where CKM='''+ DataLocateComboBox1.Text +'''';
//open;
//close;
execute;
end;
end;
Next;
end;
当判断两字段都重复时,就不执行任何操作,否则执行添加语句,但是两字段重复的判断好象没有执行,而是直接跳过了,执行了否的判断,于是就出现插入重复键的错误.不知道locate是否执行判断了,或是我写的代码不对? |