zoukankan      html  css  js  c++  java
  • ADO建ACCESS数据库

    两种都是使用ADOX的Catalog,只是在引入的时候有点区别,使用了名字空间:
    1
    需要同时用 ADO 和 ADOX,引入方法:
    #import "C:/program files/common files/system/ado/msado15.dll" rename("EOF","adoEOF")
    #import "C:/Program Files/Common Files/system/ado/msadox.dll"
    因为两个库的namespace 是不同的,第一个是ADODB,第二个是ADOX,注意上面第一行通常加的no_namespace去掉了!
    在使用ADO所属的名字空间里的变量,函数时,在前面加上ADODB::
    在使用ADOX所属的名字空间里的变量,函数时,在前面加上ADOX::
    HRESULT hr = S_OK;
    hr = ::CoInitialize(NULL);
    if(SUCCEEDED(hr))
    {
      HRESULT hr = S_OK;
      // Define ADOX object pointers.
      // Initialize pointers on define.
      // These are in the ADOX::  namespace.
      ADOX::_CatalogPtr m_pCatalog = NULL;
      //Set ActiveConnection of Catalog to this string
      _bstr_t strcnn("Provider=Microsoft.JET.OLEDB.4.0;Data source=c://new.mdb");
      try
      {
       m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog));
       m_pCatalog->Create(strcnn);
      }  
      catch(_com_error &e)
      {
       // Notify the user of errors if any.    
       AfxMessageBox(e.ErrorMessage());
                    }
    }
    参考:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/admthcreatexvc.asp
    2
    这种方式的引入有些区别
    先是在头文件.h添加:
    #import "c:/Program Files/Common Files/system/ado/msadox.dll" rename_namespace("ADOX")
    #import "c:/Program Files/Common Files/System/ADO/msado15.dll" /
      rename_namespace("ADO") rename("EOF", "EndOfFile")
    #pragma warning (disable: 4146)using namespace ADO;
    然后在实现文件.cpp里:
    using namespace ADOX;
    _CatalogPtr m_pCatalog;
     m_pCatalog.CreateInstance(__uuidof(Catalog));
     try
     {
       //m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog));
       m_pCatalog->Create(strcnn);
     }   
     catch(_com_error &e)
     {
       // Notify the user of errors if any. 
       AfxMessageBox(e.ErrorMessage());
       return FALSE;
     }
     using namespace ADO;//如果之后的代码用的是ado的话要加这一句
    个人感觉第二种用起来方便些。
  • 相关阅读:
    Compiling LIBFFM On OSX 10.9
    Linux shell 脚本入门教程+实例
    Understanding the Bias-Variance Tradeoff
    Learning How To Code Neural Networks
    MXNet设计和实现简介
    数据需求统计常用awk命令
    Deal with relational data using libFM with blocks
    MATLAB 在同一个m文件中写多个独立的功能函数
    Debug 路漫漫-06
    MATLAB 求两个矩阵的 欧氏距离
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330149.html
Copyright © 2011-2022 走看看