2,496
社区成员
发帖
与我相关
我的任务
分享
functionDbiUndeleteRecord (hCursor:hDBICur):DBIResult;
其中,hCursor可為資料集的Handle .
下面就是一個典型的例子.
同樣,應在uses語句加上:
DbiTypes,DbiProcs,DbiErrs.
{恢復被軟刪除的記錄}
functionUndeleteRecord(DbfTable:TTable):boolean;
begin
Result:=false;
{返回false表示函數執行失敗}
withDbfTabledo
begin
{如果資料集處於非活動狀態,則執行失敗}
ifnotactivethen
exit;
{使資料集的目前記錄與實際的目前記錄的位置一致}
UpdateCursorPos;
{恢復被軟刪除的記錄}
ifDBIERR_NONEDbiUndeleteRecord(Handle)then
exit;{發生錯誤,操作失敗}
result:=true; {操作成功}
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
adoconnection1,adoconnection2:Tadoconnection;
begin
adoconnection1:=Tadoconnection.Create(nil);
adoconnection1.ConnectionString:='Provider=MSDASQL.1;Password="";Persist Security Info=True;Data Source=dbf1';
adoconnection1.Open;
adoconnection1.execute('delete from X1-31-P40');
adoconnection1.Close;
adoconnection1.Free;
//adoconnection1.Destroy;
adoconnection2:=Tadoconnection.Create(nil);
adoconnection2.ConnectionString:='Provider=MSDASQL.1;Password="";Persist Security Info=True;Data Source=dbf1';//dbf1是指向自由表文件的odbc数据源
adoconnection2.Open;
adoconnection2.execute('pack X1-31-P40.dbf');
adoconnection2.Close;
adoconnection2.Free;
//adoconnection2.Destroy;
end;