如何解决在对话框中使用odbc,已经加入记录集。但Open时发生异常。
解决方案 »
- 用英文“线程死锁”应该怎么翻译??
- 请问在哪里发生了内存泄露?
- 要在cmd下面执行这句话rundll32.exe csdll.dll,_rundll@16
- 如何生成形如VC中OUTPUT窗口和WORKSPACE栏那样效果的界面?
- 有关内存泄漏问题郁闷了好长时间了
- [在线求助]std::list的sort问题
- 急!!怎么把位图复制到系统剪贴板?
- installshield 控件的注册?
- 请问大虾们这段代码,问题在哪啊?
- 刚开始学windows编程,没想到试着写一个hello world!就出现了莫名其妙的问题
- 在OnDraw()函数中画图出现的问题,大家能否帮忙解决一下,谢谢!
- 本人立下毒誓,洗心革面,重新做人,散分!*****
if(m_FileDlg.DoModal()==IDOK)
{
char* pDSN;
pDSN=new char[255];
int iLen;
sprintf(pDSN,"DSN=DSN_DbCom?DBQ=%s?",m_FileDlg.GetFileName());
iLen=strlen(pDSN);
for(int iIndex=0;iIndex<iLen;iIndex++)
{
if(pDSN[iIndex]=='?')
{
pDSN[iIndex]='\0';
}
}
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)pDSN);
try
{
if(m_DaoDb.IsOpen())
{
m_DaoDb.Close();
}
m_DaoDb.Open(m_FileDlg.GetFileName());
int iTableDefCount=m_DaoDb.GetTableDefCount();
for(int kIndex=0;kIndex<iTableDefCount;kIndex++)
{
m_DaoDb.GetTableDefInfo(kIndex,m_DaoTableDefInfo);
if(m_DaoTableDefInfo.m_lAttributes&dbSystemObject)
continue;
m_TableName.AddString(m_DaoTableDefInfo.m_strName);
}
}
catch(CDaoException* e)
{
//AfxMessageBox(e->m_pErrorInfo->m_strDescription,MB_ICONINFORMATION);
AfxMessageBox("DAO不可识别的数据库格式,转换数据库到早期ACCESS数据库版本.",MB_ICONINFORMATION);
e->Delete();
}
if(m_Db.IsOpen())
{
m_Db.Close();
}
m_Db.Open(_T("DSN_DbCom"));
}