不會吧?是不是你新加的紀錄沒更新到表中?
query中添加数据有2種辦法:
1。用SQL-UPDATE語句,調EXECSQL方法。
2。用TQUERY的INSERT方法。(我還真記不清楚了,反正說錯了也不算誤人子弟。呵呵)

解决方案 »

  1.   

    哈哈,你是不是用Access数据库?记录比较多(20条以上)的时候会出现这种问题,很少!
    很简单,把数据库里面的所有默认值全部取消,然后升级BDE,DAO!
      

  2.   

    Sql server中不應該會出現這種情況的三少 :o)
      

  3.   

    Insert Into TABLE Value
    或Update TABLE
      

  4.   

    哈哈!不愧是hank,一说就准,请hank兄在仔细说说吧。如何取消默认值,怎样升级bde,dao.好吗?谢谢!!
      

  5.   

    我来回答吧,请务必笑纳
    ------当然也给我分了,第一次上这个网站,总得给个面子是吧。
      我不太理解你的第一个问题的意思,添加一般是不可能是换成替换的,你确定点的是NBPOST按钮还是NBEDI按钮?
      用REFRESH方法试一下。
      第二个问题嘛,只要将TQUERY控件的REQUESTLIVE设成TRUE即可,其他的同TABLE控件一样使用。不知满意否。
      

  6.   

    给mini_fx,我想你没有明白我的问题的意思。所以你的回答当然是和题不对,请看看hank兄的解释,他已经知道了我的问题所在,我的东西全是通过bde连接的access数据库,所以我问的全是在此条件下的问题。请您在回答一下。一定给分。
      

  7.   

    1、取消掉Access的默认值就是用Microsoft Access打开数据库,将数值型字段的默认值去掉(默认是0,去掉为空),将文本型字段的“允许空字符串”改为是。而且数据库要建索引;
    2、升级BDE是因为不同版本的BDE有点问题,最好用最新的(5.11版)
    3、另外最大的问题可能是你的TDBNavigator对应的数据库是主从关系的从表,所以当主表固定时,无论怎样移动记录,记录总是乱七八糟(在此你可以用while(!eof)测试,很多时候是死循环,说很多时候是因为时好时坏),所以如果是从表,从表就没有必要采用TDBNavigator,直接用DBGrid操作即可。如果你一定要用TDBNavigator(我总觉的TDBNavigator很难看!),那建立一个有索引的临时表,最后将数据倒入你的真实数据表即可。
    说了这么多,总结一下:数据库里面的所有默认值全部取消,然后升级BDE,DAO!主从表再从表中建议不要使用TDBNavigator,或者通过临时表访问。
    当然,如果真的是从表的记录很多,在DELPHI中用主从关系TDBNavigator也就失去了意义,不如直接光一个从表,手工控制,主表只是显示出来而已(例如显示到Edit中)。当然,此时MasterSource和MasterFields也就失去意义,再说,有数据库的关系,你还怕出问题不成。
    这些很大程度上牵扯到开发思路,估计你最大的问题应该出在用TDBNavigator操作从表上。多了,也不知有没有文字错误!
    Hank