在DBGridEH中,怎样让他增加或修改数据后不直接保存.而是弹出窗口提示用户保存.当用户选择了"是",数据才保存到数据库中.  详细一点哦.我是新手!!分可以再给~!

解决方案 »

  1.   

    建议在数据集的AdoQuery1的BeforePost事件中进行判断选择, 如果不保存就cancel
      

  2.   

    http://community.csdn.net/Expert/topic/4577/4577644.xml?temp=.9514887procedure TForm1.FormCreate(Sender: TObject);
    begin
      ADOQuery1.Close;
      ADOQuery1.LockType:=ltBatchOptimistic;
      ADOQuery1.Open;
    end;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      if MessageDlg('修改数据库?',mtConfirmation,[mbYes,mbNo],0)=mrYes
        then  
         ADOQuery1.UpdateBatch();
    end;
      

  3.   

    谢谢各位老大,你们的回答让我对CSDN有了很大信心。再问二个问题。1、就是:怎样判断第一列中的数据是否有重复值。如果有的话就提示说“NO不能为重复值“然后光标就到那里让用户修改后再保存。2、ADOQuery1.UpdateBatch();只是批量的保存。但我保存的表的字段为ID来的,显示的时候是关连其它表出来的名字。我想保存的时候保存为ID,怎么实现呢?
    谢谢!