BOOL CDataBaseWork::IntiDataBase()
{
   AfxOleInit();//初始化
   _bstr_t strConnection;
   HRESULT hr=m_pConnection.CreateInstance(__uuidof(Connection));
   m_pCatalog.CreateInstance(__uuidof(Catalog));
   ASSERT(m_pConnection!=NULL);
   if(FAILED(hr))
   {
   AfxMessageBox("Can not get a instance of Connection!");
   return false;
   }
   try
   {
   //连接已建数据库
   strConnection="Provider=SQLOLEDB;Server=fw;Initial Catalog=SQLdatabase;uid=sa;pwd=11;";
   m_pConnection->Open(strConnection,"","",adModeUnknown);
   AfxMessageBox("connect SQLdatabase success!");
   m_pCatalog->PutActiveConnection(m_pConnection.GetInterfacePtr());
       return true;
   }
   catch(_com_error e)
   {
   try
   {
     //连接到master数据库
      _bstr_t strConnect="Provider=SQLOLEDB;Server=fw;Initial Catalog=master;uid=sa;pwd=11;";
      m_pConnection->Open(strConnect,"","",adModeUnknown);
      AfxMessageBox("connect master success!");    //创建数据库
    strConnection="CREATE DATABASE SQLdatabase ON\
( NAME='SQLdatabase_dat',FILENAME=\'E:\database\',\
  SIZE=10MB,MAXSIZE=50,FILEGROWTH=5)\
           LOG ON (NAME='SQLdatabase_log',FILENAME=\'E:\database\',\
  SIZE=5MB,MAXSIZE=25,FILEGROWTH=5);";    //当前连接创建数据库
   m_pConnection->Execute(strConnection,NULL,adCmdText);
////////////////////////////////上面这句执行语句就是错误处                     AfxMessageBox("create  SQLdatabase success!");
   //关闭当前的连接,重新打开,连接到新建的数据库
   m_pConnection->Close();
   strConnection="Provider=SQLOLEDB;Server=127.0.0.1;Initial Catalog=SQLdatabase;uid=sa;pwd=11;";
   m_pConnection->Open(strConnection,"","",adModeUnknown);
   AfxMessageBox("connect SQLdatabase success!");
   m_pCatalog->PutActiveConnection(m_pConnection.GetInterfacePtr());
   return true;
   }
   catch(_com_error e)
   {
   m_pCatalog->Release();
   m_pConnection->Release();
   m_pCatalog=NULL;
   m_pConnection=NULL;
   AfxMessageBox(e.ErrorMessage());
   AfxMessageBox(e.Description());
   return false;  
   }
   }
   
}这段代码及用ado 自动建sql server数据库,怎么也调不通,不知道哪里错了,那位高手帮忙调一下?