当前位置:编程学习 > Delphi >>

delphi7.0触发更新

form1显示数据库表A,form2显示数据库表B。

我在form1上修改表B,但是我由form1的一个控件X进入form2之后,表B没有更新我修改的信息。难道一定要加个更新控件才行吗?

为什么我在form2上编写代码要求更新,或者在控件x上编写代码要求更新都不行。

我不想加个更新控件啊···谁有什么办法能让我进入form2它就更新好吗?

 

追问:

更新的意思是说:我在form1上修改了表B,但是我进入form2之后,form2显示的仍然是旧表的信息。

我是希望进入form2之后,它会更新出我修改了的信息,而不是还是显示以前旧的信息。我知道可以添加一个刷新按钮,编写代码,点击后会出现修改后的新表。但是我希望一进入form2,它就能显示修改后的新表。

我使用了下列两种方法,但是都不行。

一。在x控件上添加如下代码。

procedure TForm1.Button1Click(Sender: TObject);

begin

form2.ado.close;//ado为adoquery
form2.ado.sql.clear;
form2.ado.sql.add('select * from 表B ');
form2.ado.open;

form2.show;

end;

二。在form2上添加如下代码。

procedure TForm2.FormCreate(Sender: TObject);
begin

ado.close;//ado为adoquery
ado.sql.clear;
ado.sql.add('select * from 表B ');
ado.open;

 

end;

答案:

当你用窗体1进入窗体2的那个时候

你的数据集关闭再打开或许可以达到效果

 

楼主你说的更新是怎么回事呢?代码发上,我帮你瞧瞧。

 

还有一点,你创建窗体的时候,两个是不是一起创建的呢?

是的话,中途你的代码没弄好也会出现你说的情况。

加断点跟踪看一下你编写在form2上要求更新的代码有没被执行.

代码写在Form OnShow事件里一般都会被执行的.

上一个:难道要放弃delphi?
下一个:delphi~~问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,