表A
code name
1    1111
2    2222
3    3333
4    4444
表B
code Money
1    100
2    200SQL语句如下:
select b.code,a.name,money from b left join a on b.code=a.code
执行此SQL后,在DBGrid中能正确显示表B中每个记录的name(来自表A)
但当增加一条记录后,例如:往表B中输入code=3,money=300,并且post后,
就是看不到code=3记录的name字段内容,按refresh按钮也没有作用。请问如何在输入新记录后,能即时得到name字段内容?
或哪儿可以找到相关内容的贴子?先谢!

解决方案 »

  1.   

    最好通过lookup字段实现多表,否则进行增加删除时会同时对两个表操作,或者通过程序发SQL语句进行数据更新操作
      

  2.   

    楼上说的对
    要不然就只能将DataSet close,在open了
      

  3.   

    这个问题好象不复杂,但如果真用close再open的话,那绝不是个好办法,因为当数据量一多时,
    就比较讨厌,而且不可能在每增加一条记录后,为了看到name字段的内容,就close再open一次,
    再者当close后,又如何能正确找到当前正在编辑的记录呢?因为单机运行可能能正确找到,但当
    C/S或多层程序多用户时,我想是不太可能正确找到吧!真的不想用lookup。
      

  4.   

    ReQuery不就是先Close,后Open吗?此法当记录数多起来时C/S下将行不通。
      

  5.   

    我已经开了两个帖子问这个问题了
    http://expert.csdn.net/Expert/topic/2308/2308008.xml?temp=.6198999
    http://expert.csdn.net/Expert/topic/2279/2279071.xml?temp=.2800562
      

  6.   

    TO:lqdmafeng()
    不会吧!大虾!主表所输入的code在辅表中均可找到。
    就如问题中所述,当在主表中输入code=3时,
    就是显示不出code=3时的name=3333,除非先Close再Open。这个问题就和zhengxionglai(胖胖哥) 的一样。那么,有没有可变通的其他办法呢?或者你们在遇到此问题时又是如何处理呢?
      

  7.   

    sos,如果可以解决这个问题,我请吃饭本人在广州