在delphi中,用了ttable控件,然后调用delete删除记录,删除之后,又调用了next指向了下一条记录,给客户使用之后,反应有重复记录,今天在查找问题时,意外的发现问题原因,原来delete在删除记录之后,自动指向下一条未删除的记录.
delete删除记录步骤:
1. 检验数据库不是空的,否则弹出异常
2. 如果被删除的记录之前的记录,如果有更改,先执行更改.
3. 调用BeforeDelete事件
4. 删除记录
5. 释放该记录的占用的内存空间
6.设置表状态为浏览模式
7.对数据库文件进行更新,将记录指针指向下一条未被删除的记录,如果已经到记录尾,就指到数据库头
8.调用AfterDelete事件