我要做的系统是根据学习档案管理系统进行改编
由于时间有限,只能用现成的东西了但是学习档案管理系统 有一个表 student字段 为family
我要把它改为 duty  (还有好几个字段要修改呢 先改一个试试 )
在CRecordSet 类做相应修改 用类向导修改的
编译没有错误,但是 登陆进入系统后
显示对话框 时提示错误  
字段  oldname 曾用名 字段值或规格错误 
怎么可能? 我没动它呀,它的属性是文本  没有错误
请高手帮忙解决,不胜感激啊!!!void CStudentSet::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CStudentSet)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[address]"), m_address);
RFX_Date(pFX, _T("[birthday]"), m_birthday);
RFX_Text(pFX, _T("[class]"), m_class);
RFX_Text(pFX, _T("[code]"), m_code);
RFX_Text(pFX, _T("[department]"), m_department);
RFX_Text(pFX, _T("[duty]"), m_duty);///更改
RFX_Text(pFX, _T("[edu_sys]"), m_edu_sys);
RFX_Date(pFX, _T("[enroll_date]"), m_enroll_date);
RFX_Text(pFX, _T("[family_dept1]"), m_family_dept1);
RFX_Text(pFX, _T("[family_dept2]"), m_family_dept2);
RFX_Text(pFX, _T("[family_dept3]"), m_family_dept3);
RFX_Text(pFX, _T("[family_duty1]"), m_family_duty1);
RFX_Text(pFX, _T("[family_duty2]"), m_family_duty2);
RFX_Text(pFX, _T("[family_duty3]"), m_family_duty3);
RFX_Text(pFX, _T("[family_name1]"), m_family_name1);
RFX_Text(pFX, _T("[family_name2]"), m_family_name2);
RFX_Text(pFX, _T("[family_name3]"), m_family_name3);
RFX_Text(pFX, _T("[family_phone1]"), m_family_phone1);
RFX_Text(pFX, _T("[family_phone2]"), m_family_phone2);
RFX_Text(pFX, _T("[family_phone3]"), m_family_phone3);
RFX_Text(pFX, _T("[family_political1]"), m_family_political1);
RFX_Text(pFX, _T("[family_political2]"), m_family_political2);
RFX_Text(pFX, _T("[family_political3]"), m_family_political3);
RFX_Text(pFX, _T("[family_relation1]"), m_family_relation1);
RFX_Text(pFX, _T("[family_relation2]"), m_family_relation2);
RFX_Text(pFX, _T("[family_relation3]"), m_family_relation3);
RFX_Text(pFX, _T("[folk]"), m_folk);
RFX_Date(pFX, _T("[graduate_date]"), m_graduate_date);
RFX_Text(pFX, _T("[honor_date1]"), m_honor_date1);
RFX_Text(pFX, _T("[honor_date2]"), m_honor_date2);
RFX_Text(pFX, _T("[honor_date3]"), m_honor_date3);
RFX_Text(pFX, _T("[honor_date4]"), m_honor_date4);
RFX_Text(pFX, _T("[honor_date5]"), m_honor_date5);
RFX_Text(pFX, _T("[honor_date6]"), m_honor_date6);
RFX_Text(pFX, _T("[honor_digiest1]"), m_honor_digiest1);
RFX_Text(pFX, _T("[honor_digiest2]"), m_honor_digiest2);
RFX_Text(pFX, _T("[honor_digiest3]"), m_honor_digiest3);
RFX_Text(pFX, _T("[honor_digiest4]"), m_honor_digiest4);
RFX_Text(pFX, _T("[honor_digiest5]"), m_honor_digiest5);
RFX_Text(pFX, _T("[honor_digiest6]"), m_honor_digiest6);
RFX_Text(pFX, _T("[honor_re1]"), m_honor_re1);
RFX_Text(pFX, _T("[honor_re2]"), m_honor_re2);
RFX_Text(pFX, _T("[honor_re3]"), m_honor_re3);
RFX_Text(pFX, _T("[honor_re4]"), m_honor_re4);
RFX_Text(pFX, _T("[honor_re5]"), m_honor_re5);
RFX_Text(pFX, _T("[honor_re6]"), m_honor_re6);
RFX_Text(pFX, _T("[IDCard]"), m_IDCard);
RFX_Text(pFX, _T("[major]"), m_major);
RFX_Text(pFX, _T("[name]"), m_name);
RFX_Text(pFX, _T("[native]"), m_native);
RFX_Text(pFX, _T("[oldname]"), m_oldname);
RFX_Text(pFX, _T("[phone]"), m_phone);
RFX_Text(pFX, _T("[political]"), m_political);
RFX_Text(pFX, _T("[postcode]"), m_postcode);
RFX_Text(pFX, _T("[sex]"), m_sex);
RFX_Text(pFX, _T("[summary]"), m_summary);
RFX_Text(pFX, _T("[term1]"), m_term1);
RFX_Text(pFX, _T("[term10]"), m_term10);
RFX_Text(pFX, _T("[term2]"), m_term2);
RFX_Text(pFX, _T("[term3]"), m_term3);
RFX_Text(pFX, _T("[term4]"), m_term4);
RFX_Text(pFX, _T("[term5]"), m_term5);
RFX_Text(pFX, _T("[term6]"), m_term6);
RFX_Text(pFX, _T("[term7]"), m_term7);
RFX_Text(pFX, _T("[term8]"), m_term8);
RFX_Text(pFX, _T("[term9]"), m_term9);
//}}AFX_FIELD_MAP
}

解决方案 »

  1.   

    检查m_duty 的类型,还有之前所有与family相关的地方,都要检查,对应的改
      

  2.   

    m_duty 类型是文本与family相关的全都改了我就奇怪了
    改一个字段名称怎么就那么难啊!!!我重新 建立数据源 还是不行 编译 0 error 0 warning  
    运行  进入 系统后
    点 档案管理 命令 
    进入显示对话框 提示 居然又变成 无效的字符值或规格 name (2)  请大家帮忙不胜感激!!!!
      

  3.   

    删除CStudentSet类,先在文件视图中移去,然后在目录中把.cpp,.h删除掉
    然后再重新使用向导建立一个新的CStudentSet类,如果有问题,就建一个CStudentSet1类老实说,MFC的数据库类不可用于关键性的应用:)