procedure UndeleteAll(DataSet: TBDEDataSet); begin with DataSet do begin UpdateRecordTypes := [rtDeleted]; {指定缓冲区中可视记录的类型,此处是只有删除的记录才是可视的} try First //将指针移动数据集的开始位置 while not EOF do //当删除的记录未恢复完时,反复循环 begin RevertRecord; //恢复删除的当前记录 Next; //将记录指针移到下一条记录上 end; finally UpdateRecordTypes := [rtModified, rtInserted, rtUnmodified]; //指定缓冲区中可视记录的类型,将已修改的,插入的和未修改记录设为可视状态 End; End; End;