想实现在别的窗体更改数据库过后,在主窗体显示界面相应刷新数据库在显示出来。
写了一个默认的过程
procedure TSJMain.default(Sender: TObject);
begin
  with Query1 do
  begin
  Close;
  SQL.Text:='Select * from table_name';
  OPen;
  end;
end;在每次主窗体的FromSHow中调用;但是实现不了刷新呀。
procedure TSJMain.FormShow(Sender: TObject);
begin
  Sjmain.default(Self);
end;原来的default内容是写在fromshow里面的,这样就导致无法刷新了吧。
现在想在每次主窗体获得焦点的时候执行一遍default里面的内容,不知道怎么做?
是不是很菜的问题呀?

解决方案 »

  1.   

    改改思路
    把DataSet全部放到一个DataModule里,大家共同享用
      

  2.   

    我自己用了一种折中的办法呀,就是每次子窗体关闭的时候,都调用主窗体的fromshow,fromshow在执行default里面的代码,很繁琐呀,效果是实现了,不知道会不会影响效率?
    要是这么用的话,那直接写在fromshow里面就可以了。我用了2楼提到的那个数据模块了,就是想在子窗体关闭时调用主窗体的fromshow。
      

  3.   

    在别的窗体更改数据库过后,    马上调主FORM的default方法.
    因为只需要在数据有改变后,才需要刷新主form上的显示.其他时候不需要
      

  4.   


    右击--->属性--->把URL复制出来,粘到IE地址栏,回车
      

  5.   

    哦,o(∩_∩)o...哈哈,谢谢大家,^_^。学了一招如何看图片。
    我用的是Stringgrid,为了方便控制表格而已,换了DBGrid,和数据库关联是可以实现的,谢谢。
    结贴了。