我用DBGrid显示ACCESS中的表,dbgrid设置了为只读,采用edit将数据插入表中,可是插入之后,新插入的数据在dbgrid中显示不出来.表中有插入的数据,请问要怎么才能让dbgrid的更新跟插入操作同步????
最好有代码

解决方案 »

  1.   

    试试这样
    dbgrid1.DataSource.DataSet.Close;
    DBGrid1.DataSource.DataSet.Open;
      

  2.   

    刷新dbgrid所连接的,比如说连接的是adoquery1
    那么   adoquery1.requery();
      

  3.   

    不管你使用的是query or table 控件
    query1.Refresh or table1.Refresh
    你不用考滤dbgrid.
      

  4.   

    呵呵,能不能指明要加到哪里啊???我是刚用delphi不久,还是很不懂
      

  5.   

    可以考虑使用DBedit..
    这样,当在DBGrid中浏览数据时候,DBEdit中同步显示。
    插入时候,可以调用append方法,然后post就可以了..
      

  6.   

    procedure TPK_BJbrowse.BitBtn1Click(Sender: TObject);
    begin
      if (Edit1.Text='') or (Edit2.Text='') then
        Application.MessageBox('输入不能为空','系统提示',MB_OK+MB_ICONERROR)
      else
        {with PK_Data do
          begin
            PK_BJbrowseQuery.close;
            PK_BJbrowseQuery.SQL.Clear;
            PK_BJbrowseQuery.SQL.Add('select * from PK_Class where BJ_ID="'+Edit2.Text +'"')
          end;
        PK_Data.PK_BJbrowseQuery.Open; }
        if PK_Data.PK_BJbrowseTable.Locate('BJ_ID',Trim(Edit2.Text),[loPartialKey]) then
            Application.MessageBox('此班级已经存在!','系统提示',MB_OK+MB_ICONERROR)
         else
          begin
            PK_Data.PK_BJbrowseTable.Append;
            DBEdit1.Text:=Edit1.Text;
            DBEdit2.Text:=Edit2.Text;
            Edit1.Text:='';
            Edit2.Text:='';
           with PK_Data.PK_BJbrowseTable do
             begin
               Post;
               Append;
               UpdateRecord;
             end;
           end;
    end;
    你看一下吧,这里有判断,连接,更新,我用的set,query,table,都写的很清楚!
    可能动态添加更新!
    有问题可以与我联系!
    QQ:122435086