2,498
社区成员
发帖
与我相关
我的任务
分享
if ADOquery2.RecordCount > 0 then
begin
ADOquery2.First;
for i := 1 to ADOquery2.RecordCount do
if not ADOquery1.Locate('编号',TRIM(ADOquery2.FieldValues['编号']),[]) then//防止导入表中的重复数据,
begin
ADOquery1.Append;
ADOquery1.FieldValues['编号']:=ADOquery2.FieldValues['编号'];
ADOquery1.FieldValues['名称']:=ADOquery2.FieldValues['名称'];
ADOquery1.FieldValues['价格']:=ADOquery2.FieldValues['价格'];
ADOquery1.Post;
ADOquery2.Next;
end;
end;
在程序里做判断,由于插入会时时导致数据库与程序查询结果不同,所以要求
时时刷新查询结果。
类似你这种插入要先将所有数据保存到数据库临时表TMP中
然后INSERT INTO 表1 FROM TMP
WHERE TMP.编号 NOT IN() 之类的插入到实际表中
重复机制处理在临时表,在实时表上不能对数据进行加工