if(FALSE == ExistFile())
{
AfxMessageBox(_T("数据库不存在!"));
return;
}
HRESULT hr = S_OK;
ADOX::_CatalogPtr m_pCatalog = NULL;
ADOX::_TablePtr m_pTable = NULL;
_CommandPtr m_pCmd(__uuidof(Command));
_ConnectionPtr m_pConnection;
try
{
//TESTHR(
hr = m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog));
CString strFile,strPath;
strFile = FindPath()+_T("//bookdata.mdb");
CString strCon = _T("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=")+strFile+_T(";Jet OLEDB:Database Password=")+strEnCode+_T(";");
hr = m_pConnection.CreateInstance(__uuidof(Connection));
hr = m_pConnection->Open(_bstr_t(strCon),"","",adModeUnknown);
if(FAILED(hr))
return;
/*
TESTHR(hr = m_pTable.CreateInstance(__uuidof(ADOX::Table)));
m_pTable->PutName(_T("users"));
m_pTable->Columns->Append(_T("user_id"),adInteger,0);
m_pTable->Columns->Append(_T("user_name"),adVarChar,0);
m_pTable->Columns->Append(_T("user_pwd"),adVarChar,0);
m_pTable->Columns->Append(_T("user_level"),adVarChar,0);
*/
CString sSql = _T("CREATE TABLE officer ([user_id] CHAR(10) not null,[name] CHAR(10) null,[password] CHAR(10) null,[level] CHAR(10) null)");
m_pConnection->Execute((_bstr_t)sSql,NULL,0);//执行建表的SQL语句
//m_pCmd->Execute(NULL,NULL,adCmdText);
m_pConnection->Close();
}
catch(_com_error &e) {
// Notify the user of errors if any.
AfxMessageBox(_T("创建表发生错误!"));
AfxMessageBox(e.ErrorMessage());
return ;
}
catch(...) {
AfxMessageBox(_T("创建表时发生其他错误!"));
return ;
}