TCHAR szDestSQL[100];
TCHAR szSQL[100];
try
{
::CoInitialize(NULL);
sprintf(szSQL,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Config.mdb;Jet OLEDB:DataBase Password=100100;");
IJetEnginePtr jet(__uuidof(JetEngine));
sprintf(szDestSQL,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ConfigTemp.mdb;");
strcat(szDestSQL,"Jet OLEDB:Engine Type=5");
jet->CompactDatabase(szSQL,szDestSQL);
DeleteFile("Config.mdb");
rename("ConfigTemp.mdb","Config.mdb");
::CoUninitialize();
}
catch(_com_error &e)
{
::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;
}
這段代碼以前就有,但一直沒成功過,今天加了try,,,catch才發現,原來是密碼錯誤,以前沒有把Jet OLEDB:DataBase Password=100100
寫上,弄得苦惱了我很久。