为什么我关闭A窗口去刷新B窗口的Adoquery时,数据更新不了,是不是存在什么缓存问题? RT,我试过Adoquery.active:=false;Adoquery.active:=true;和Adoquery.refresh,有的情况下可以更新B窗口的数据,有的时候要关闭B窗口重开才能更新数据,这是什么原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比方说你的数据集在打开的时候已经是将数据按照某种条件select出来的,而不是整张表的记录,那么你新加或修改的记录也许是不符合那个select条件的,所以就算数据集刷新过了,那么也是显示不出改动的。 有可能是你的程序在使用过程中改变了它的 sql语句也不建议你用关闭激活来进行刷新,我建议你用 语句来刷新 str := 'select * from ... where ...'; Adoquery.Close; Adoquery.SQL.Clear; Adoquery.SQL.ADD(str); Adoquery.open;end; 在A窗口的OnClose事件里面刷新Adoquery:with AdoQuery dobegin Close; Sql.Clear; Sql.Add(Str); Open;end; 以上方法都试过了,也是不行,要么就要关闭窗口重来,要么就通过一个button的onclick=nbrefresh来刷新1-3次才能把数据更新 可以用AdoQuery.Requery([])试试看,不知道能不能对你有用 AdoQuery.Requery([])这个要哪些参数? cxDBDateEdit控件的readonly属性为true时为什么还可以修改 这是我第一次在Delphi论坛问问题, 请多多帮助 ☆☆☆请问谁有Delphi很好的界面程序,能否发过来一个看看!!!☆☆☆ 经典搞笑 关于DBGrid显示俩个关联表记录时的编辑问题? 那位使用过厨房打印机,在线等候! 请教:三层结构怎么玩?up有分。 怎么样才能学好Delphi? 如何得到位图数据部分的Pointer? 在 win7系统下 如何使用delphi内嵌汇编读写0x60端口 delphi有米有类型转换啊?(30分钟后结帖) 有兄弟知道哪儿做磁卡么?
也不建议你用关闭激活来进行刷新,我建议你用 语句来刷新
str := 'select * from ... where ...';
Adoquery.Close;
Adoquery.SQL.Clear;
Adoquery.SQL.ADD(str);
Adoquery.open;
end;
begin
Close;
Sql.Clear;
Sql.Add(Str);
Open;
end;
这个要哪些参数?