我写了如下过程(修改完数据,然后保存,这是保存方法),当窗体关闭时,报‘堆栈溢出’错误,什么原因?
procedure TfrmFileInfo.SaveDate;
begin
    cmd1 .CommandText :='update 人事档案 set 姓名='''+edt3.Text+'''';
    cmd1.Execute ;
    self .close;
end;

解决方案 »

  1.   

    你是在Close事件中调用的这个SaveDate吗?
    另外Save就是Save,不要在这里面关闭窗口,这个不是一个好习惯。
      

  2.   

    不是,是在button的click事件中调用的
    procedure TfrmFileInfo.btn3Click(Sender: TObject);
    begin
      SaveDate ();
      self.close;
    end;procedure TfrmFileInfo.SaveDate;
    begin
        cmd1 .CommandText :='update 人事档案 set 姓名='''+edt3.Text+'''';
        cmd1.Execute ;
    end;这样还是报同样的错误。
      

  3.   

    断点到cmd1.execute处,看看是不是这个的错误,然后单步执行,看一看代码走到了哪里出的问题。