问题描述
- DataGrid不可以调试问题
-
为什么在Debug模式下,CColumns cols = m_datagrid.GetColumns();
int iIndex=(int)cols.GetCount();//获取列数
在使用GetCount的时候会报错,出现空指针,CColumns的一系列函数都不能使用,只有在Release模式下才出现正确的结果
解决方案
检查下数据库文件路径、环境之类的问题,按理说程序都是一样的。
解决方案二:
hr = m_pRecordset.CreateInstance(__uuidof(Recordset)); if (FAILED(hr)) { AfxMessageBox(_T("CreateRecordset失败")); }try { hr = m_pRecordset->Open("SELECT * FROM TBL_INFO_PATIENT", theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic, adCmdText);if (FAILED(hr)){ AfxMessageBox("打开记录集失败"); } } catch(_com_error& e) { dump_com_error(e); } m_datagrid.SetCaption(_T("患者信息表")); m_datagrid.SetRefDataSource((LPUNKNOWN)m_pRecordset->GetDataSource()); //设置datagrid为只读 m_datagrid.SetAllowUpdate(FALSE); m_bShow = TRUE; CColumns cols; cols = m_datagrid.GetColumns(); int iIndex=(int)cols.GetCount();会崩掉,在调试的时候,GetCount,报错空指针,而在Release时没问题
时间: 2025-01-07 10:30:11