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;
使用RevertRecord方法恢复在缓冲区中被删除的记录
本文介绍了一种在BDEDataSet中恢复所有被标记为删除的记录的方法。通过设置UpdateRecordTypes属性仅显示删除的记录,并使用循环遍历数据集逐条恢复这些记录,最后再重新设置UpdateRecordTypes属性来显示所有类型的记录。

被折叠的 条评论
为什么被折叠?



