标题: 一个小的断言错误,ASSERT(m_nFields <= m_prs->m_nFields); [打印本页]

作者: 51hei社区    时间: 2016-1-16 03:00
标题: 一个小的断言错误,ASSERT(m_nFields <= m_prs->m_nFields);
修改老软件的数据库,主要是增加几个字段,然后做一些处理,原来设想这还不是手到擒来的事儿,但是在recordset映射表字段的时候,总是断言错误,就是标题的这个,是在

void CDEJshYC::DoFieldExchange(CFieldExchange* pFX)
{
。。。。。。。

RFX_Long(pFX, _T("[nSimulationType]"), m_nSimulationType);

。。。。。。。。。
}

因为,从来没有用过recordset映射的方式,来读取表(原来或者用odbc api, 或者直接遍历表),所以一时还蒙住了, 仔细看了看MFC的源代码,基本闹明白了,m_prs->m_nFields存的是CRecordset对象的段个数,如果是用classwizard生成的代码会自动设置,如果手工修改了,就要修改相应的m_nFields的数值,

哎,居然是这样一个垃圾问题,耽误了1个小时。
这还不是最主要的,主要的是不理解为何要由用户来设置这个个数,有没有高手可以告诉我。







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1