1:在grid 录入中,我一次下达多条空记录,然后一起提交保存,请问如何在保存前判断一次记录中有重复的货物名称出现。
2:主从表录入如何采用事务处理。

解决方案 »

  1.   

    对于问题1有可用两种办法:
    1.在每次添加前进行键值查找,若找到,就提示,已经存在。
    2.将该键值定义在主键,然后在保存代码用异常捕捉主键错误。(不能在dataset的beforepost()中进行)
      

  2.   

    缓存更新一组记录,在提交前如何判断每条记录中有重复的货物名称名称出现,并返回。下有一节代码
    只能在提交后判断。简单的是在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;  }