ADOX创建数据表

11 篇文章 0 订阅

 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 ;
   }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值