救急救急,数据更新不能及时显示的问题~~~在线等待送分!!!
我有一个应用程序,同时开两个实例,访问数据库,数据的更新不能及时反映:
如下,
//主窗体 TMainForm
//菜单点击事件
procedure TMainForm.mSupplyClick(Sender: TObject);
var FrmSupply:TSupplyForm;
begin
FrmSupply:=TSupplyForm.Create(Self);
FrmSupply.ShowModal;
FrmSupply.Free;
end;
//数据显示、编辑窗体 TSupplyForm
//特别注明:TSupplyForm中有一个IBSupplyQuery,被界面上的
DBGrid使用;还有一个IBUpdateQuery,用来更新数据。
IBSupplyQuery的CacheUpdates被设置为false
//在窗体被创建的时候打开Query,并通过DBGrid显示出来
procedure TSupplyForm.FormShow(Sender: TObject);
begin
// IBSupplyQuery.Active:=True;
IBSupplyQuery.Open;
//IBSupplyQuery.Refresh;
end;
//关闭Query
procedure TSupplyForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
IBSupplyQuery.Active:=False;
end
;
procedure TSupplyForm.btnExitClick(Sender: TObject);
begin
Close;
end;
procedure TSupplyForm.btnRefreshClick(Sender: TObject);
begin
// IBSupplyQuery.Transaction.
IBSupplyQuery.Close;
IBSupplyQuery.Open;
end;
procedure TSupplyForm.btnEditClick(Sender: TObject);
begin
if (IBSupplyQuery.RecordCount>0) and (DBGrid1.SelectedRows.Count>0) then
begin
//...根据DBGrid中记录的值,构造IBSupplyUpdate的参数
//IBSupplyUpdate.ParamByName('NAME').AsString := 'abc';
IBSupplyUpdate.ExecSQL;
IBSupplyUpdate.Transaction.Commit;//提交事务,数据库中数据立刻更新
end;
end;
--
放几千爆竹,将穷鬼轰开,几年来被这小畜生弄得偶空手一双,
点数炷清香,把财神引进,从此后愿您老人家保佑俺腰缠万贯.