ODBCl数据库和VC中RECORDSET类

chenxiaokang861201 2009-03-11 12:56:38
我建了个职工表,有许多基本信息,然后用VC中的RECORDSET建了个类CPerson,然后我想在一个listctrl中显示两列数据:姓名和工号,主要的代码如下
int i=0;
while(!m_recordset.IsEOF())
{
m_ctrList.InsertItem(i,m_recordset.m_name);
m_ctrList.SetItemText(i++,1,m_recordset.m_id);
m_recordset.MoveNext();
}
m_recordset.Close();
m_ctrList.SetRedraw(TRUE);
结果显示的时候一直无法显示正确的值,会显示其他列的数据,我查看CPerson的数据成员,本来我是一一对应地设置的,比如【部门】——m_dept,【姓名】——m_name等等,但是总是不对,所以我没有按照这个顺序,我直接按照数据库里的列的顺序,我数据库列是这样的:工号、姓名、部门、职务、性别、年龄,将原来CPerson类的数据成员改为如下:【部门】——m_id,【工号】——m_name ,【年龄】——m_dept,【姓名】——m_duty,【性别】——m_sex【职务】——m_age,结果用刚才的语句搜索后显示出来的数据是正确的,请问高手这个是哪里出问题了??是不是因为数据库的列名称是中文的?
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxiaokang861201 2009-03-12
  • 打赏
  • 举报
回复
我又碰到了这样的问题了,我建了个企业信息表,有“名称”,“地址”,“电话”,“传真”四列,然后建了个CInfoSet的recordset类,在成员变量里看到四个属性列,顺序是【传真】,【地址】,【电话】,【名称】,我先按照它的名称来设置相应的成员变量,即:【传真】对应m_fax,【地址】对应m_address,【电话】对应m_phone,【名称】对应m_name,然后在编辑框中分别显示出来,结果数据打乱了,本来要显示名称的地方显示了传真,传真的地方变成了地址,真是晕啊
后来我删掉了重新设置,按照数据表里的属性列顺序设置,即【传真】m_name,【地址】m_address,【电话】m_phone,【名称】m_fax,结果显示正确了。在线等候高手解答,小小的问题大大的疑惑感谢高手赐教啊!

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧