Access 中保存了好多信息,到达100多M,将信息删除后空间却没有释放,为什么?
该怎么解决呢还有个问题,在查询表中有 N 个字段,要查多个字段信息
select Id,Name,... from table
这样似乎太麻烦了,我想只排除不查找的字段,怎么写呢
谢谢!!
该怎么解决呢还有个问题,在查询表中有 N 个字段,要查多个字段信息
select Id,Name,... from table
这样似乎太麻烦了,我想只排除不查找的字段,怎么写呢
谢谢!!
解决方案 »
- 如何捕获某端口下的udp包,对他进行重新加工后再发往目的地址
- 如何用delphi连接mysql?
- .......................................................................................
- 我问大家一个菜鸟问题,是关于串口读写的。
- ADOQuery控件断网重连问题!
- 请问我在一个DX的程序上想显示自己的字,遇到了这样的问题
- 各位大家有没有用ADO替换BDE的方法?
- 请各位前辈把你门写过的组件和类写的过程和代码张贴出来提供后辈参考 (
- 奇怪的问题,求解
- 请问如何在局域网中向某台机发送一个程序并让它立即执行?
- 关于库存平均值的计算问题??
- spcomm控件的问题
不但ACCESS,就是连SQL SERVER也是如此,办法,当然是压缩了,,,,就释放了空间。
Delphi Menu/Project/Import Type Libraryfunction CompactAndRepair(FFileName: string): Boolean;
var
oJetEng : JetEngine;
sOldMDB, sNewMDB, sProvider: string;
begin
sProvider := 'Provider=Microsoft.Jet.OLEDB.4.0;' + GetProvider;
sOldMDB := sProvider + 'Data Source=' + FFileName + ';';
sNewMDB := sProvider + 'Data Source=' + FFileName + '.tmp' + ';';
if FileExists(sNewMDB) then DeleteFile(sNewMDB);
try
oJetEng := CoJetEngine.Create;
oJetEng.CompactDatabase(sOldMDB, sNewMDB);
Result := DeleteFile(FFileName);
if Result then
Result := RenameFile(FFileName + '.tmp', FFileName);
oJetEng := nil;
except
oJetEng := nil;
Result := False;
end;
end;