精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
A+VC900-聪友仔() 15:10:01 老师 为什么在 修改更新的例子中 如果我 在显示代码那一块 如果 m_lstData.SetItemData(i,rs.m_ID);
语句我没有加下去的话 就只能修改其中的一个数据 之后就不能再修改了
编程慧助() 15:10:59
没有私有数据来表示ID,则只能保证获取私有数据时,获取到0,0的ID对应第一条,所以只能修改一个记录了 A+VC900-聪友仔() 15:12:21但是这只是显示代码 也有关系吗
编程慧助() 15:12:32
SetItemData不是显示用的代码啊。
编程慧助() 15:13:25
这中间的关系你要理清,修改要用到ID,ListCtrl里每行数据对应的ID在私有数据里,如果私有数据没设置好,肯定就让修改功能失效了
A+VC900-聪友仔() 15:14:09
我看看先 A+VC900-聪友仔() 15:55:52 //显示代码 i=0; CTypeRS rs(&db);//用数据库的引用的指针来构造注1、私有数据是指和界面元素绑定的关联数据,只和元素对应,和外部无关,所以叫私有数据。这个数据常常用于前台后台的对应处理。界面叫前台,数据管理的部分叫后台。比如CListCtrl用于显示学生信息,CListCtrl的一行就对应一个学生,我们肉眼通过名称很直观地看到对应关系,但是代码就没这个直观的能力了,为了让行和背后的数据有对应关系,就让行和一个学生的指针对应起来,把指针用SetItemData设置到行上,在用户操作时,先选择一个行,点击对应的功能按钮,比如删除,这时候通过选择行的行号结合GetItemData就可以获取学生指针,有了指针可以获取删除用的数据库ID,结合SQL里的delete语句就可以删除行对应的学生信息了。
注2、私有数据对初学者来说难在有个拐弯,不是直接的知识点。特别私有数据是个整数,怎么整数就能变成学生,不好转弯。理解了指针,就好转弯了。