ADOQuery1+DBGrid1+DataSource1+ADOConnection1
在addForm中添加数据,添加完成后,MainForm中的DBGrid为什么不能刷新呀?

解决方案 »

  1.   

    再刷新一次
    DBGrid1.datasource.dataset.close;
    DBGrid1.datasource.dataset.Open;
      

  2.   

    用DBGrid1.datasource.dataset.requery;就可以了
      

  3.   

    试试在DataSource1中的change事件中写条查询语句吧
      

  4.   

    各位拜托一下
    我都快郁闷死了
    为什么不行呢?
    是不是我什么地方做错了?
    我就是在另一窗口中加入新数据,或修改一条数据
    添加或修改完了
    主窗体中的DBGrid1就是不能自动刷新
    添加窗体和修改窗体中用的是
    AConnection := CreateOleObject('ADODB.Connection');
    AConnection.Open(ConnStr);
    ARecordSet:=CreateOleObject('ADODB.RecordSet');
    ARecordSet.ActiveConnection:=AConnection;
    而主窗体中用的是ADOQuery1+DBGrid1+DataSource1+ADOConnection1
      

  5.   

    procedure TMainForm.searchInfor(tmpStr:string);
    begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text:='select top 100 * from Infor where CompanyName like ''%'+trim(tmpStr)+'%''';
    ADOQuery1.Open;
    ADOQuery1.Refresh;
    end;
    我就是这么写的呀
    在添加和修改完后
    执行了searchInfor('');
    可就是不行,第一次修改或添加时不能刷新,但第二次以后就完全正常了,不理解。
    拜托各位帮忙出个主意呀