在BCB中怎样执行Access的数据库压缩与修复
发布网友
发布时间:2022-04-22 11:05
我来回答
共1个回答
热心网友
时间:2022-04-11 20:22
#include "objbase.h" //牵涉到COM对象,必须包含此头文件
AnsiString srcmdb="c:\\test.mdb"; //原文件名(压缩之前)
AnsiString destmdb="c:\\test2.mdb"; //目标文件名(压缩之后)
CoInitialize(NULL); //初始化COM对象
AnsiString src = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+srcmdb; //连接字串
AnsiString dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+destmdb;
Variant AdoObj = Variant::CreateObject("JRO.JetEngine");
AdoObj.OleProcere("CompactDatabase",src.c_str(),dest.c_str());
AdoObj.Clear();
CoUninitialize();
DeleteFile(srcmdb) ; //删除原文件,如果不放心可以不删除留个备份,但需要改名
RenameFile(destmdb,srcmdb); //将压缩后的文件改成原文件名