随便在SQL SERVER建一个库和一个表,Database1,Table1,DataSource1,DBGrid1各一个,连接这个表,Table1在打印状态,然后运行,在DBGrid1中输入数据,POST后,你会发现你新增的数据没有出现,只有重新打开Table1后数据才出现,请问这是怎么回事,怎么解决?

解决方案 »

  1.   

    这就TABLE控件的问题。
    建议用ado.解决的方法是,我以前都是在post之后将这个表关闭再打开,然后定位到这条记录上。很是麻烦。
      

  2.   

    TTable控件不用 Close --> Open --> Locate, 使用樓上上的TTable.refresh就可以了
    TQuery控件需要Close --> Open --> Locate 
      

  3.   

    我也碰到过这种问题,我用Delphi7试了也不行,看来没有什么好的解决办法,唉,BDE看来是没前途了,不过我个人觉的BDE挺好用的,Borland公司为什么不改一改呢。
      

  4.   

    我也遇见过,郁闷啊
    现在用ADO了……
      

  5.   

    我在AfterPost事件加了下面语句:
    procedure TForm1.Table1AfterPost(DataSet: TDataSet);
    begin
      Table1.Refresh;
    end;
    结果出现下面错误,请问是什么原因?
    Table does not support this operation becarse it is not uniquely indexed.
      

  6.   

    不支持就麻烦点,用Table1.Close;
    Table1.Open;同样达到目的。
      

  7.   

    我也碰到过这种情况,建议你用SDAC联接SQL Server吧,而且这控件功能很强,你会喜欢的。
      

  8.   

    为什么不用ado呢?很方便啊!