对于 查询 按钮 
《ADO操作access全过程和CListCtrl的用法》的写法是:
void CBrow::OnButtonSelect() 
{
UpdateData(TRUE); if ( strcmp(m_strSelect,"") == 0 )
{
AfxMessageBox("请输入你要查询的姓名");
return;
} CString strTemp;
strTemp = "SELECT *  FROM telelist WHERE name like '%" + m_strSelect + "%'";
m_ListCtrl.DeleteAllItems();
CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
CString TempSql;
int i = -1;
if(pRs->Open((LPCTSTR) strTemp ))

{
while(!pRs->IsEof())
{
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;      
lvitem.stateMask = 0; 
char temp[50];

lvitem.iItem = ++i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp, 10); 
m_ListCtrl.InsertItem(&lvitem); pRs->GetFieldValue("name",TempSql);
m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql); pRs->GetFieldValue("tele",TempSql);
m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql); pRs->GetFieldValue("res",TempSql);
m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql); pRs->GetFieldValue("ID",TempSql);
m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);

pRs->MoveNext();
}
pRs->Close();
}
else
AfxMessageBox("记录集创建失败");
delete pRs;

}其中:  BOOL IsEof()
{return m_pRecordset->EndOfFile == VARIANT_TRUE;};
用的是 ado 的类,那我自己 声明了一个 IsEof()用在 
                 while(!IsEof())
{
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;      
lvitem.stateMask = 0; 
char temp[50];

lvitem.iItem = ++i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp, 10); 
m_ListCtrl.InsertItem(&lvitem); pRs->GetFieldValue("name",TempSql);
m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql); pRs->GetFieldValue("tele",TempSql);
m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql); pRs->GetFieldValue("res",TempSql);
m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql); pRs->GetFieldValue("ID",TempSql);
m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);

pRs->MoveNext();
}为什么就变成 死循环了??