小弟是个数据库菜鸟,之前是做图象处理算法的!现在做数据库就有点乱了……这次要做的东西,是把一个SQL2000数据库里的几个指定表,导出,并写到一个ACCESS数据库中!要求自动建立这个ACCESS数据库。我的操作平台是VC6.0+ADO!希望哪位前辈可以指点一下!能够全程知道的话,更是万分感谢了!我相信这个程序对几位前辈来说根本不算什么的!(小弟够笨……)我的问题一个一个的帖出来,每个50分!(不分难易)看的信誉值大家应该相信我的!**************************************************************************这次的问题是:目前已经可以连接源SQL数据库!但我在建立ACCESS数据库文件时遇到了麻烦!哪位能够告诉一下怎么在VC6.0+ADO的情况下建立一个ACCESS(.mdb)数据库呢?

解决方案 »

  1.   

    我都是用SQL做后台的,用SQL语言建立ACCESS数据库是否可以呢?
    你试试吧
      

  2.   

    我知道用连接MASTER数据库的方式可以用语句在SQL2000中创建新数据库!但是创建ACCESS数据库怕是不行吧?要是我和DAO一起混用呢?用DAO我知道是可以创建ACCESS数据库的!但是我不知道DAO该怎么用!我试过,用CDAODATABASE类申明一个变量,然后……
    CDaoDatabase DAOdb;DAOdb.Create("c:\\asg340.mdb");但是会说我没申明DAOdb!我需要在哪儿include什么头文件吗?
      

  3.   

    直接用API函数
    创建的时候写完全路径和后缀即可( .mdb)  
     HANDLE CreateFile(
      LPCTSTR lpFileName,          // pointer to name of the file
      DWORD dwDesiredAccess,       // access (read-write) mode
      DWORD dwShareMode,           // share mode
      LPSECURITY_ATTRIBUTES lpSecurityAttributes,
                                   // pointer to security attributes
      DWORD dwCreationDisposition,  // how to create
      DWORD dwFlagsAndAttributes,  // file attributes
      HANDLE hTemplateFile         // handle to file with attributes to 
                                   // copy
    );
      

  4.   

    我用过这个!但是,用这个API函数创建的数据库我用ADO无法连接!甚至用ACCESS都无法打开!
      

  5.   

    你可以确定一个源数据库(.mdb文件)
    用 CopyFile(sourceFile ,destiFile)即可
    去查一下CopyFile()是怎么用的!
      

  6.   

    怎么就是没人告诉我怎么去建立一个.mdb文件呢?
      

  7.   

    DAO
    Sub DAOCreateDatabase()   Dim db As DAO.Database   Set db = DBEngine.CreateDatabase(".\New.mdb", dbLangGeneral)End SubADOX
    Sub ADOCreateDatabase()   Dim cat As New ADOX.Catalog   cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=.\New.mdb;"End Sub
      

  8.   

    http://www.codeproject.com/database/caaadoxclass.asp里面有CreateDatabase
      

  9.   

    #import "c:\Program Files\Common Files\system\ado\msadox.dll" no_namespace 
    ..._CatalogPtr m_pCatalog;
    m_pCatalog = NULL;
    m_pCatalog.CreateInstance(__uuidof(Catalog));
    CString strConnection = _T("");strConnection = "Provider=Microsoft.JET.OLEDB.4.0;Data source = "
                    "c:\\adox\\Test.mdb;Jet OLEDB:Engine Type=5;";
    m_pCatalog->Create(_bstr_t(strConnection ));
      

  10.   

    头文件部分
    #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)
    #include "icrsint.h"using namespace ADO;...在代码的实现部分  using namespace ADOX;
    _CatalogPtr m_pCatalog;
    m_pCatalog.CreateInstance(__uuidof(Catalog)); CString strConnection = "Provider=Microsoft.JET.OLEDB.4.0;Data source = "
    "c:\\Test.mdb;Jet OLEDB:Engine Type=5;";
    if(!PathFileExists(_T("c:\\Test.mdb")))
    m_pCatalog->Create(_bstr_t(strConnection ));
    using namespace ADO;//如果之后的代码用的是ado的话要加这一句
      

  11.   

    呵呵~~~好了!该来的都来了!结分!老马啊!我最后是采用了水银的办法,用了ADO与ADOX共存的方法!呵呵~~~这次开帖收获不小啊!感谢老马和水银啊!特别是水银老大,又多介绍我认识了一个好地方!