建立数据库程序,有没有办法实现不用到ODBC数据源去设置,一运行程序自动设置好。
比如有数据库LibraryDB.mdb,数据源为LibraryDB,该怎么写代码。

解决方案 »

  1.   

    如果你用的是.mdb数据库,并且使用DAO进行访问最可以不用设置数据源,
    我常用的就是这样的方法。
    如果有兴趣,我们可以交流一下。
    [email protected]
      

  2.   

    #include "afxdb.h"
    CDaoDatabase m_pNewDatabase;//全局变量
    m_pNewDatabase = new CDaoDatabase;
    try
    {
    m_pNewDatabase->Open(m_strFilePath);
    m_pNewRecordset = new CDaoRecordset(m_pNewDatabase);
    }
    catch(CDaoException* e)
    {
    e->ReportError();
    delete m_pNewDatabase;
    m_pNewDatabase = NULL;
    e->Delete();
    return;
    }
    CString strSql;
    strSql.Format("SELECT * FROM YourTable");//你的表名
    m_pNewRecordset->Open(dbOpenDynaset,strSql);
            COleVariant varValue;
    short sIndex = 0;
    m_pNewRecordset->GetFieldValue(sIndex,varValue);
    nMaxClk = varValue.iVal;//取数据赋值
     。。
      

  3.   

    在使用之前添加数据源
    CString lpszArrributes;
    lpszAttributes = "DSN=LibraryDB\0';
    lpszAttributes += "Description=LibraryDB\0";
    lpszAttributes += "DBQ=C:\\LibraryDB.mdb\0';
    SQLConfigDataSource(NULL,
                        ODBC_ADD_DSN, 
                        "Microsoft Access Driver (*.mdb)",
                        lpszAttributes);在使用之后删除数据源
    SQLConfigDataSource(NULL,
                        ODBC_REMOVE_DSN,
                       "Microsoft Access Driver (*.mdb)",
                       "DSN=LibraryDB");