用"table1.edit"方法修改,提交后,记录里并不是把这条记录修改了,反而多了一条修改后的记录,而原记录居然还会存在,
---------------------------------------------------------------------------------请检查Table1.Edit前后,是否调用了Table1.Append,Table1.Insert等,因为你没有使用TDBEdit等数据编辑控件,Edit等控件不会自动感应更新,你自己以为是在修改状态,而实际上是在插入状态。你可以在Table1.Post前插入代码检查一下表的状态:
if Table1.State = dsInsert then
  ShowMessage('Insert')
else
  ShowMessage('not Insert');
如果是在插入状态,肯定你的代码中无意调用了插入语句,可跟踪检查。

解决方案 »

  1.   

    不会吧,table1.first;//
    不要这句,不要移动看看
      

  2.   

    给表加主键,否则BDE显示的数据可能会是混乱的,不过即便没有建立主键,将表关闭后再打开数据也会正常。
    你试将表关闭再打开,表内的数据还是混乱的吗?
      

  3.   

    Paradox虽然有点烂,但至少不应该出现这种问题,检查一下你的表是否建正确了,我们这儿使用Paradox输入了几万条记录都不会出现数据丢失的情况,只是索引经常坏掉。