每次启动都先弹出来一个寻找数据源的对话框,怎杨编程实现在程序中默认的路径自动找到事先设计好的数据库.
数据库中每个表的纪录最大是65536条纪录,在存储数据大于65536时,怎么才能用程序实现自动的在创建一个相同字段的不同表名的表,而不是反复在一个表中覆盖存储数据??!!!!!!

解决方案 »

  1.   

    你在配置ODBC的时候没有指定其对应的数据库吗?
    ACCESS数据库每个表的最大记录不止65536条,我就曾经存过百万条数据。创表的语句如下:
    CDaoDatabase * m_pDatabase = new CDaoDatabase; TRY
    {
    m_pDatabase->Open(_T("\\DataName.mdb"));
    }
    CATCH (CDaoException, e)
    {
    delete m_pDatabase;
    return;
    }
    END_CATCH
    CDaoTableDef * m_pTableDef = new CDaoTableDef(m_pDatabase); if (!createNewTableDef(m_pDatabase, &m_pTableDef, TableName))
    {
    m_pDatabase->Close(); delete m_pTableDef;
    delete m_pDatabase; return;
    } m_FI.m_strDefaultValue = _T("");
    m_FI.m_bRequired = FALSE;
    m_FI.m_lAttributes = dbUpdatableField;
    #if _MFC_VER == 0x400
    m_FI.m_bAllowZeroLength = TRUE;
    #else
    m_FI.m_bAllowZeroLength = FALSE;
    #endif;
    m_FI.m_strValidationRule = _T("");
    m_FI.m_strValidationText = _T(""); m_FI.m_nOrdinalPosition = 0;
    m_FI.m_strName = _T("LineName");
    m_FI.m_nType = dbText;
    m_FI.m_lSize = 50; if (!createNewField(m_pTableDef, &m_FI))
    {
    //AfxMessageBox("添加第一个域失败!");

    deleteTable(m_pDatabase, TableName); m_pDatabase->Close(); delete m_pTableDef;
    delete m_pDatabase; return;
    } if (!appendTableDef(m_pDatabase, m_pTableDef))
    {
    deleteField(m_pTableDef, m_FI.m_strName);
    deleteTable(m_pDatabase, TableName); m_pDatabase->Close(); delete m_pTableDef;
    delete m_pDatabase; return;
    } //第二个域
    m_FI.m_nOrdinalPosition ++;
    m_FI.m_strName = _T("Time");
    m_FI.m_nType = dbInteger;
    m_FI.m_lSize = 2;

    if (!createNewField(m_pTableDef, &m_FI))
    {
    //AfxMessageBox("Ìí¼ÓµÚ¶þ¸öÓòʧ°Ü!"); m_pDatabase->Close(); delete m_pTableDef;
    delete m_pDatabase; return;
    } //第三个域
    m_FI.m_nOrdinalPosition ++;
    m_FI.m_strName = _T("Value");
    m_FI.m_nType = dbSingle;
    m_FI.m_lSize = 4;

    if (!createNewField(m_pTableDef, &m_FI))
    {
    //AfxMessageBox("Ìí¼ÓµÚÈý¸öÓòʧ°Ü !"); m_pDatabase->Close(); delete m_pTableDef;
    delete m_pDatabase; return;
    } m_pDatabase->Close(); delete m_pTableDef;
    delete m_pDatabase;