高手过来改进 下面那段代码用ado操作删除access中的记录时候。删除上千条记录。access大小没变法哟,该怎么解决

高手过来改进 下面那段代码用ado操作删除access中的记录时候。删除上千条记录。access大小没变法哟
bool   DbCmdOp(CString   sql)
{
//_variant_t   RecordsAffected;
try
{

m_gcmd-> CommandText   =   _bstr_t(sql);
m_gcmd-> CommandType=adCmdText;

m_gcmd-> Execute(NULL,NULL,adCmdText);
//全局的command命令。已经初始化

}


catch(_com_error   e)///捕捉异常
{
return   false;
}

return   true;
}
UINT   DataBaseThead(LPVOID   lpParam)
{

for(vi=vec.begin();vi!=vec.end();vi++)
{

DbCmdOp((CString)*vi);



}

return   0;

}
代码是已经执行好了。但是用command操作删除。   access就是没减小。

------解决方案--------------------
删除只是标记,最后得压缩的.
你自己去搜代码吧.
------解决方案--------------------
你增加删除一个字节,都要改变文件的大小,做数据库的人就成了白吃了!

增加删除文件大小是像台阶一样的折线,不是平滑的曲线。
编译生成的exe程序大小也是这样。