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(''); 可就是不行,第一次修改或添加时不能刷新,但第二次以后就完全正常了,不理解。 拜托各位帮忙出个主意呀
DBGrid1.datasource.dataset.close;
DBGrid1.datasource.dataset.Open;
我都快郁闷死了
为什么不行呢?
是不是我什么地方做错了?
我就是在另一窗口中加入新数据,或修改一条数据
添加或修改完了
主窗体中的DBGrid1就是不能自动刷新
添加窗体和修改窗体中用的是
AConnection := CreateOleObject('ADODB.Connection');
AConnection.Open(ConnStr);
ARecordSet:=CreateOleObject('ADODB.RecordSet');
ARecordSet.ActiveConnection:=AConnection;
而主窗体中用的是ADOQuery1+DBGrid1+DataSource1+ADOConnection1
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('');
可就是不行,第一次修改或添加时不能刷新,但第二次以后就完全正常了,不理解。
拜托各位帮忙出个主意呀