我使用append方法追加一条记录,在未编辑完的情况下点击dbgrid,会自动增加一条不完整的记录,请问如何让用户点击保存按钮,才进行数据的提交?

解决方案 »

  1.   

    直接C/S连数据库的吧??改变一下方式,好像是userclient吧,
      

  2.   

    beforepost 里面判断弄个提示
    if messagebox()<>mrok then abort; 
      

  3.   

    1、不用感知控件,例DBEDIT,而通过SQL语句插入  -->推荐方法
    2、如果采用楼主的方法,可以在APPEND时,将DBGRID锁定,即enabled:=false;那么在保存时,只有检查通过才将enabled:=true;
      

  4.   


    你的思路是什么,在dbedit里面编辑还是dbgrid里面?
    如果在dbedit里面,那么可以用edit,只不过约束麻烦点或者用内存临时表来实现
      

  5.   

    我说不符合设计意思是:总不能用户点击dbgrid就出对话框吧
      

  6.   

    同意 IDWB 的方法,只在点击保存按钮的时候才调出对话框,如果不点保存就关闭或移动当前记录就在beforepost里取消
      

  7.   

    问题已经解决,adoquery组件的locktype修改为ltBatchOptimistic,在保存时用adoquery.UpdateBatch即可解决。