1,在access中有如下数据,现需将其显示在列表中,但是我搞不清程序执行完第一段后,列表里得到的是什么?同时搞不清执行完第二段后(当然是假设在第一段没有执行时,单独执行第二段。如果先执行第一段,再执行第二段,肯定能得到正确结果),列表里得到的是什么?
2,access中的数据如下  课程  星期1  星期2  星期3  星期4  星期5
  ----------------------------------------
    1    语文   数学   英语   物理   化学
  ----------------------------------------
    2    物理   化学   语文   数学   英语
  ----------------------------------------
    3    数学   英语   物理   语文   化学  
  ----------------------------------------
    4    自习  计算机  美术   音乐   体育
  ----------------------------------------
    5.....................................
  ----------------------------------------3,第一段:
//设置:列对其方式,列宽度(像素),缓冲文本,列索引(序号)
m_Lc.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;   //设置列属性
for(i=0;i<m_Set->m_nFields;i++)//m_nFields是CRecordset对象的成员变量
{                             
m_Set->GetODBCFieldInfo(i,DbFi);    //用索引来查找字段m_Lc.iSubItem=i;                                    //LVCF_SUBITEM  
m_Lc.fmt=LVCFMT_LEFT;                               //LVCF_FMT
m_Lc.cx=DbFi.m_strName.GetLength()*10+85;           //LVCF_WIDTH
m_Lc.pszText=DbFi.m_strName.GetBuffer(DbFi.m_strName.GetLength());
                                                            //LVCF_TEXT
GetListCtrl().InsertColumn(i,&m_Lc);//CListView::GetListCtrl()
}
问:执行玩该段后,列表中插入的是什么?
the result is 课程  星期1  星期2  星期3  星期4  星期5 ????????????????????
or  : 课程  星期1  星期2  星期3  星期4  星期5
  ----------------------------------------
        1    语文   数学   英语   物理   化学
  ----------------------------------------
        2    物理   化学   语文   数学   英语
  ----------------------------------------
        3    数学   英语   物理   语文   化学  
  ----------------------------------------
        4    自习  计算机  美术   音乐   体育
  ----------------------------------------
        5.....................................???????????????????????/*虚线仅方便视
  ----------------------------------------     觉上的看*/
4, 第二段:
         LV_ITEM m_item;                                         //条目结构体对象
CString string;                                         //字符串临时变量
CDBVariant DbVariant;
i=0;
if(m_Set->IsEOF())                                      //记录集是否为空
{
AfxMessageBox("记录集没有记录");
return;
}
m_Set->MoveFirst();                                    //从第一个记录开始
while(m_Set->IsEOF()==0)                               //是否到达最后一个记录
{
m_item.mask=LVIF_TEXT;                             //指向存放项文本缓冲区
m_item.iItem=i;                                    //从0开始的表的索引(行序号)
m_item.iSubItem=0;                                 //从1开始编号的索引(列序号)m_Set->GetFieldValue((short)0,string);
m_item.pszText=string.GetBuffer(string.GetLength());
m_List->InsertItem(&m_item);//插入条目
/*该段所查入的有是什么数据???????????????????,最好回答问号处所提的问题,谢谢各位如此关爱啊!!!!!*/
//显示列数据
for(j=1;j<m_Set->m_nFields;j++)
{
m_Set->GetFieldValue((short)j,string);
m_List->SetItemText(i,j,string.GetBuffer(string.GetLength()));
}
m_Set->MoveNext();//下移记录
i++;
}

解决方案 »

  1.   

    1.在列表头中插入的内容是: 取出的字段名称(如果字段名称是:课程  星期1  星期2  星期3  星期4  星期5)
    2.插入的是1,2,3,4,5......
    3.执行完第一次for插入的是:语文   数学   英语   物理   化学
    第二次for插入内容:物理   化学   语文   数学   英语
    ......
      

  2.   

    m_List->InsertItem(&m_item);//插入条目
    /*该段所查入的有是什么数据
    插入一个lvitem,内容分别为
    1
    2
    3
    4
    5