1.用下面的方法可以压缩Access数据库,但其它数据库呢?像MySql、SqlServer……;
2.如何动态修改数据库密码呢?try
{
   IJetEnginePtr jet(__uuidof(JetEngine));
   jet->CompactDatabase(
         "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\nwind2.mdb", 
         "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\abbc.mdb;" \ 
         "Jet OLEDB:Engine Type=4");
}
catch(_com_error &e) 
{       
   ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;    
}                                                     谢谢!

解决方案 »

  1.   

    2
    try
    {
    hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
    if(SUCCEEDED(hr))
    {
                    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=Cb_DATA.mdb;Jet OLEDB:DataBase Password=123;Mode=Share Deny Read|Share Deny Write","","",adModeUnknown);
           m_pConnection->Execute("ALTER DATABASE PASSWORD [456] [123] ",NULL,adCmdText);
    }
    }
    catch(_com_error &e)///捕捉异常
    {
    CString errormessage;
    errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
    AfxMessageBox(errormessage);///显示错误信息
    return FALSE;
    }
      

  2.   

    压缩SQL好象是dbcc命令,可以查一下联机帮助