缓存更新一组记录,在提交前如何判断每条记录中有重复的货物名称名称出现,并返回。下有一节代码 只能在提交后判断。简单的是在query2缓存更新中,在提交前如何判断每条记录中有重复,以下一节代码只能在提交后判断,就没有意思了。 我采用数组保存每条记录货物名称,那么在数组中如何判断有重复的货物名称? dmsl.query4.close; dmsl.query4.SQL.CLEAR; dmsl.query4.SQL.ADD('select pmgk FROM skxsitem where skxsid=:skxsid GROUP BY pmgk HAVING COUNT (pmgk)>1'); dmsl.query4.parambyname('skxsid').asinteger:= dmsl.query1['skxsid']; dmsl.query4.open; if dmsl.query4. recordcount>0 then begin showmessage('编号重复'); exit; end; }
1.在每次添加前进行键值查找,若找到,就提示,已经存在。
2.将该键值定义在主键,然后在保存代码用异常捕捉主键错误。(不能在dataset的beforepost()中进行)
只能在提交后判断。简单的是在query2缓存更新中,在提交前如何判断每条记录中有重复,以下一节代码只能在提交后判断,就没有意思了。
我采用数组保存每条记录货物名称,那么在数组中如何判断有重复的货物名称? dmsl.query4.close;
dmsl.query4.SQL.CLEAR;
dmsl.query4.SQL.ADD('select pmgk FROM skxsitem where skxsid=:skxsid GROUP BY pmgk HAVING COUNT (pmgk)>1');
dmsl.query4.parambyname('skxsid').asinteger:= dmsl.query1['skxsid'];
dmsl.query4.open;
if dmsl.query4. recordcount>0 then
begin
showmessage('编号重复');
exit;
end; }