代码如下:
begin
  if
    messagedlg('确定提交吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
        begin
        form1.ADOQuery1.Post;
        form1.ADOQuery1.Append;
        end
  else
        form1.adoquery1.cancel;end;end.做的效果就是提示用户是否确认提交.问题是:当执行else语句后之前填写的内容就全清空.显示的控件是用的DBEdit.我希望再执行else后保持当前的状态,也就是说:"DBEdit里如果有数据存在,在执行else之后还是保持不变."谢谢各位高手指教,兄弟才学没多久.感谢各位了.

解决方案 »

  1.   

    这样:begin 
      if 
        messagedlg('确定提交吗?',mtconfirmation,[mbyes,mbno],0)=mryes then 
            begin 
            form1.ADOQuery1.Post; 
            form1.ADOQuery1.Append; 
            end ;
      end; end. 不要Else就行了
      

  2.   

    个人认为,像你这种情况用DBEDIT不合适,在程序中的结果控制不够清晰。
    我以前也是这样,因为可以省掉代码,但现在如果与用户确认的数据,
    像对话框中的数据输入之类的,等等我都自己写代码保存。仅个人意见,代供参考:
    可以用Edit  if  .... =mrok then
      begin
        //执行你的写入操作
      else
      edit1.setFocus;  返回焦点
      

  3.   

    感谢kampan 解答,调试结果成功,十分感谢.同时也谢谢win92提出宝贵的意见,但现在刚学没多久,如果用代码来实现对我比较难.我也知道用代码来实现程序是最好,等我用熟了肯定会代码来做的.
    再次感谢各位的解答!