各位大虾,我用的是paradox做的数据库,在两个窗体中能同时具有新录入的数据,该如何刷新数据库?我是在一个窗体中,在数据库中添加数据(比如一个用户名USER1),在另一个窗体中在formcreate事件中把刚才的那个数据库中的用户名全部添加到combox中,并且要能够显示刚才输入的新数据USER1。请问那位大虾,数据怎么样刷新才能使得数据库中的内容得到更新,使得USER1才能添加到combox中,希望那位大虾帮帮忙。

解决方案 »

  1.   

    提两个思路:
    方法1:加个timer控件,在ontimer里写代码,从数据库中读取数据再添加到combox里
    方法2:自己写个procedure,从添加数据的窗口中传个消息到要刷新的窗口,触发你写的procedure来刷新你的combox.
    第一个方法会影响到程序效率,第二个可能实现起来有一定难度.
      

  2.   

    很简单啊,在本单元先加上combox所在的单元,不管你用的是Table、Query它们都有一个AfterPost,在这个事件里写上:,然后Combobox.items.clear;再用一个SQL语句(Distinct),将Userl字段的值加入Combox
      

  3.   

    加一个Query1,在与数据表相连的Table如Table1的AfterPost(这个事件是你在更新了数据表以后,系统自动执行的)
    Query1.close;
    Query1.sql.clear;
    Query1.sql.add('select Distinct Userl from 表名');
    Query1.Prepared:=True;
    Query1.Open;
    ComboBox1.Items.Clear;
    Query1.First;
    while not Query1.eof do
    begin    ComboBox1.Items.Add(Query1.FieldByName('Userl').asstring);
    end;
      

  4.   

    谢谢 qianguob(不懂编程) 这位兄弟,这种方法简单,我采用了,同时也要谢谢juny0302(正在努力) boyfriendyu(空空) 这两为兄弟的顶贴,分数给你们!