只显示最后一条记录,该如何处理

只显示最后一条记录
我用Listctrl控件连接Access,语句如下:
void   CAddressBookDlg::UpdateList(void)
{
m_List.DeleteAllItems();
CdormSet   m_dormSet(&m_database);
m_dormSet.Open();
//CDBVariant   varValue;
//char   buf[20];
int   i=0;
if(m_dormSet.GetRecordCount()!=0)  
m_dormSet.MoveFirst();
while(!m_dormSet.IsEOF())
{
m_List.InsertItem(i,_T( " "));

m_List.SetItemText(i,0,m_dormSet.m_ID);
m_List.SetItemText(i,1,m_dormSet.m_Name);
m_List.SetItemText(i,2,m_dormSet.m_Sex);
m_List.SetItemText(i,3,m_dormSet.m_Tel);
m_List.SetItemText(i,4,m_dormSet.m_Mobile);
m_List.SetItemText(i,5,m_dormSet.m_Address);
m_List.SetItemText(i,6,m_dormSet.m_Email);
m_List.SetItemText(i,7,m_dormSet.m_QQ);
m_List.SetItemText(i,8,m_dormSet.m_Group);

m_dormSet.MoveNext();
i++;
}
m_database.Close();
}

但结果是列表里只显示最后一条记录,其他的记录为空,为什么?


------解决方案--------------------

m_List.InsertItem(i, " ");


改成这个试试看。
------解决方案--------------------
int index = m_List.InsertItem(i, m_dormSet.m_ID);
m_List.SetItemText(index, 1, m_dormSet.m_Name);
......