function dgPackDbaseTable(Tbl: TTable): DBIResult; { Pack a dBASE table by calling DbiPackTable. The table passed as a parameter will be opened if it isn't open. } begin Result := DBIERR_NA; if Tbl.Active = False then Tbl.Open; Result := DbiPackTable(Tbl.DBHandle, Tbl.Handle, nil, nil, True); end; **************************** 要压缩dBase数据库很简单,只要下面的操作即可: DBIPackTable(Table1.DbHandle, Table1.Handle, 'TABLENAME.DBF', szDBASE, TRUE); 当然,Table必须用exclusive方式打开!
没有简单的方法吗? begin Result := DBIERR_NA; if Tbl.Active = False then Tbl.Open; Result := DbiPackTable(Tbl.DBHandle, Tbl.Handle, nil, nil, True); end; 中DBIERR_NA是什么???? 一定要用TABLE组件吗
passed as a parameter will be opened if it isn't open. }
begin
Result := DBIERR_NA;
if Tbl.Active = False then
Tbl.Open;
Result := DbiPackTable(Tbl.DBHandle, Tbl.Handle,
nil, nil, True);
end;
****************************
要压缩dBase数据库很简单,只要下面的操作即可:
DBIPackTable(Table1.DbHandle, Table1.Handle, 'TABLENAME.DBF', szDBASE, TRUE);
当然,Table必须用exclusive方式打开!
begin
Result := DBIERR_NA;
if Tbl.Active = False then
Tbl.Open;
Result := DbiPackTable(Tbl.DBHandle, Tbl.Handle,
nil, nil, True);
end;
中DBIERR_NA是什么????
一定要用TABLE组件吗
Query2.SQL.Add(sSQL);
Query2.Open;
???????????
adocommand1.CommandText:='pack 123.dbf ';
adocommand1.Execute;