我是一个初学者,我想问:在建立数据库时,我看相关书籍中,大多介绍是以access等工具作为数据源,进行建立的。请问,可以不用这些工具,只用vc建立数据库吗?包括数据源的建立。

解决方案 »

  1.   

    直接用DAO,创建一个空的Database后,再使用DML语句建库,可能行吧。我没有试过。
      

  2.   

    #import "c:\Program Files\Common Files\system\ado\msadox.dll" no_namespace
    #import "c:\Program Files\Common Files\system\ado\msado15.dll"#include "iostream.h"
    #include "stdio.h"
    #include "conio.h"//Function declarations
    inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
    void CreateDatabaseX(void);//////////////////////////////////////////////////////////
    //                                                      //
    //     Main Function                                    //
    //                                                      //
    //////////////////////////////////////////////////////////
    void main()
    {
        if(FAILED(CoInitialize(NULL)))
            return;   CreateDatabaseX();
          
       ::CoUninitialize();
    }//////////////////////////////////////////////////////////
    //                                                      //
    //     CreateDatabaseX Function                         //
    //                                                      //
    //////////////////////////////////////////////////////////
    void CreateDatabaseX()
    {   
       HRESULT hr = S_OK;   // Define ADOX object pointers.
        // Initialize pointers on define.
        // These are in the ADOX::  namespace.
       
       _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
       {
          TESTHR(hr = m_pCatalog.CreateInstance(__uuidof (Catalog)));
          m_pCatalog->Create(strcnn);   }      catch(_com_error &e)
       {
          // Notify the user of errors if any.
          _bstr_t bstrSource(e.Source());
          _bstr_t bstrDescription(e.Description());
            
          printf("\n\tSource :  %s \n\tdescription : %s \n ",(LPCSTR)bstrSource,(LPCSTR)bstrDescription);   }   catch(...)
       {
          cout << "Error occured in include files...."<< endl;
       }}
    建立表的话使用SQL 的CREATE TABLE就可以!