我用dbgird 显示adotable里面的内容,但是当我向adotable里面添加记录的时候,为什么在dbgrid里面没有及时更新,请各位赐教?但是如果是修改记录,我可以使他更新,用adotable.refresh,加新的记录,为什么就不可以更新呢?

解决方案 »

  1.   

    post了么?
    DBgrid1.Refresh帖一下你的代码
      

  2.   

    DBGrid.dataset.post;
    DBGrid.dataset.refresh;
      

  3.   

    refresh速度爆慢;
    建议 用
      close;
      open;
      

  4.   

    你不是用的adotable.insert 或append,而是用SQL插入的吧,这样插入的用refresh是不能更新,可以关闭后再打开!
      

  5.   

    我用的是insert,refresh好象不可以实现插入数据在dbgrid里面的实现,我的代码是:
    begin
                          adotable1.Insert;
                          adotable1.FieldByName('id').Value:=edit1.Text;
                          adotable1.FieldByName('name').AsString:=edit2.Text;
                          adotable1.FieldByName('class').AsString:=edit3.Text;
                          adotable1.FieldByName('pass').AsString:=edit5.Text;
                          adotable1.FieldByName('other').AsString:=edit10.Text;
                          adotable1.FieldByName('sex').AsString:=combobox1.Text;
                          adotable1.FieldByName('remain-time').AsString:=edit7.Text;
                          adotable1.FieldByName('state').AsString:=combobox3.Text;
                          adotable1.FieldByName('jbr').AsString:=combobox2.Text;
                          adotable1.Post;
                          adotable1.Refresh;
                          usermain.mainuser.ADOTable1.Refresh;
                          usermain.mainuser.DataSource1.DataSet.Refresh;
                          adotable1.Close;
                        end;
    dbgrid在usermain.pas上。