应该不是代码的问题,而是开发环境的问题。估计是delphi的原因,我这里运行就没有这个问题。另外,是因为数据现在取得的是上次取得的,并不是你修改后从服务器再次取得的,你可以在添加修改数据后,重新将数据库取出一遍.

解决方案 »

  1.   

    table1.cachedupdates:=true;
    with table1 do
    begin
    insert;
    fieldvalues['Jcnum']:=edit1.TEXT;
    fieldvalues['Xhport']:=combobox1.Text;
    fieldvalues['Hzdw']:=edit2.text;
    fieldvalues['Dldw']:=combobox2.text;
    fieldvalues['Lxr']:=edit3.Text;
    fieldvalues['Lxdh']:=edit4.Text;
    fieldvalues['Jcdate']:=strtodate(edit5.Text);
    fieldvalues['Connum']:=edit6.Text;
    fieldvalues['Spec']:=combobox3.text;
    post;
    commitupdates;
      

  2.   

    这是因为你用的是bitbtn控件﹐它默认自动关闭﹐你把bitbtn控件改为button控件就可以解决自动关闭的问题
    其实你可以用Dbedit控件﹐
      

  3.   

    仅仅这段代码不会使FROM关闭的。
    可能是 zlbjack(流星雨) 所说的用了 bitbtn.
      

  4.   

    谢谢zlbjack(流星雨) 、zhxfzhxf1(zhxfzhxf1) ,自动关闭的问题目解决了请问我该怎样做,当我按下按钮的同时记录出现在GRID中?
    谢了!
      

  5.   

    有可能是你的bitbtn的Modalresult中设为mrok 或mrcancel什么,把modalresult设为mrnone,应该就没有问题了.
      

  6.   

    在记录insert以后,不要refresh.使用
    with table1 do
    begin
     ............//你的insert操作;
     Close;
     Open;
    end;这样就ok了
      

  7.   

    将负责链接的的DataSouret先Close,再Open
      

  8.   

    可能是 delphi 的问题,或者是 Windows 的问题  
    如果实在不行  可能只能重新安装他们了