怎样才能不造成这种现象?

kaximoduo 2003-08-19 09:21:53

我用两个form分别为form1,form2,form1上放kccl_grid,form2上放store_name_grid.使用同一个adotable。当我用adoquery插入数据后,form1上的kccl_grid显示刚插入的数据。但我使用form2时,也用同一个adoquery输入数据,当然这个adoquery插入的表是不同的,form2上的store_name_grid显示当前数据,form1上的kccl_grid也显示此数据。
我想问问,是否可以在form的事件的那句中插入一条程序来避免这种问题。
我以前是在form1—>events->ondeactivate->form1.release;
form2—>events->ondeactivate->form2.release;
可这次不行,因为我的form1,form2都是嵌套在不同的form中,
form3中有一button,form4有一button,我两button中分别写入form1.show;form2.show;这样我在用以前的那种方法,只要你点击button,form1或form2都自动关闭。
form1>onshow中 datamodule1.gouruku_table.close;
datamodule1.gouruku_table.tablename:='moto_intostore';
datamodule1.gouruku_table.open;
datamodule1.gouruku_source.dataset:=datamodule1.gouruku_table;
kccl_grid.DataSource:=datamodule1.gouruku_source;
form2>onshow中datamodule1.gouruku_table.close;
datamodule1.gouruku_table.tablename:='store_name';
datamodule1.gouruku_table.open;
datamodule1.store_name_source.dataset:=datamodule1.gouruku_table;
store_name_grid.DataSource:=datamodule1.store_name_source;
动态的:分别用adoquery :insert into表1'moto_intostore'
insert into表2'store_name'
我不想用多个adotable
请教教我怎么做。谢谢了

...全文
17 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaximoduo 2003-08-19
  • 打赏
  • 举报
回复
那要是多个form,其中有的不能关的,用你的方法不是不行了吗
DWGZ 2003-08-19
  • 打赏
  • 举报
回复
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrl; 'C;\aaa.pas'; 也是可以的
siwuge 2003-08-19
  • 打赏
  • 举报
回复
dt 帮顶
Spqk005 2003-08-19
  • 打赏
  • 举报
回复
应该可以的,你用的是什么窗口

你在FORM3,FORM4的BUTTON事件中分别这样写
form1.show;
form2.close;

form2.show
form1.close;
这样行不行?

其实你只要在打开FORM1时关闭FORM2,打开FORM2时关闭FORM1就可以了
这样就可以让TABLE重新连接他们对应的数据表
kaximoduo 2003-08-19
  • 打赏
  • 举报
回复
你的方法不行呀,
form1的dbgrid上的内容还是不能在form2关闭之后,回原为form1上连接表中的内容
Spqk005 2003-08-19
  • 打赏
  • 举报
回复
你要实现什么
老大
你在FORM1,FORM2的ONCLose事件中写 action:=cafree;试试

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧