如保PACK一个DBF数据库呢?
function PackTable(Table: TTable): Boolean;
var
Props : CURProps;
begin
if not Table.Active then
raise EDatabaseError.Create('Table必需已经打开');
if not Table.Exclusive then
raise EDatabaseError.Create('Table必需以独占方式打开');
Check(DbiGetCursorProps(Table.Handle, Props));//检测数据库类型
if (Props.szTableType = szDBASE) then
begin
Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE,
True));
Result := True;
end
else
raise EDatabaseError.Create('Table必需是dBASE或FoxPro类型');
Table.Open;
end;
在程序中的应用方法:
......
Table1.Exclusive := True;//以独占方式打开
Table1.Open;
while not Table1.Eof do Table1.delete;//删除记录
PackTable(Table1);//PACK表
......
欢迎光临『风之纹章-Delphi编程小站』http
h11.126.com