用ODBC创建的ACCESS数据库怎样才能不用在每次启动程序时都去寻找数据库所在的目录???!!! 每次启动都先弹出来一个寻找数据源的对话框,怎杨编程实现在程序中默认的路径自动找到事先设计好的数据库.数据库中每个表的纪录最大是65536条纪录,在存储数据大于65536时,怎么才能用程序实现自动的在创建一个相同字段的不同表名的表,而不是反复在一个表中覆盖存储数据??!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在配置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; C线程 文件传输 神经网络 求教!! 请问MFC的CSocket的Create使用默认端口0作为参数调用后,怎么再获取这个socket的实际的监听端口呀? 关于如何获取文本内容的简单问题? 程序怎样点最小化缩放到右下角!任务栏上就没了! 然后在点右下角就出来了 什么样的组件最通用? 在VC里如果打包? 请问有关菜单方面的问题 誰能改改這個程序? waveinopen或directsound或openal,哪个可以实时改变采样频率? 如何转换这个字符串对象?? 请教:CTreeCtrl空件的消息响应问题??
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;