EDB数据库更新发现个很奇怪的问题,更改个变量的值就不能显示了,见以下代码说明:
- void ShuJuKu::OnBnClickedBtnrefresh()
{ //定义学生记录对象 REC_STUDENT *pRecStudent=NULL; DWORD iRecCount=0; //获取数值指针 CListCtrl * pListCtrl=(CListCtrl*)GetDlgItem(IDC_LST_STUDENT); //删除全部显示 pListCtrl->DeleteAllItems(); //查询所有记录 if(CDBStudent::QueryAllRecords(&iRecCount,&pRecStudent)) { for(int i=0;i<10;i++)//奇怪的问题在这里?这里的int i=0,就可以正常更新, //但是如果把int i=10,他就不能显示了,什么都没显示? //按道理上讲,i等于多少不是一样的吗?为什么一定要等于0才能更新显示呢? { //插入一行 pListCtrl->InsertItem(i,L""); //添加编号 pListCtrl->SetItemText(i,0,(pRecStudent+i)->szNo); //添加型号 pListCtrl->SetItemText(i,1,(pRecStudent+i)->szName); //定义系统时间 SYSTEMTIME systime; FileTimeToSystemTime(&((pRecStudent+i)->ftData),&systime); TCHAR szBirthday[16]; swprintf(szBirthday,_T("%d-%d-%d"),systime.wYear,systime.wMonth,systime.wDay); //添加日期 pListCtrl->SetItemText(i,2,szBirthday); //添加重量 pListCtrl->SetItemText(i,3,(pRecStudent+i)->szZl);
复制代码
|