ado access listview 添加数据问题
数据库是access2000 我用下面函数在listview只显示数据库的最后一行,怎么改一下就能全部显示出来BOOL AddItem(HWND hWndUser,_RecordsetPtr pRecordset)
{
try
{
if(!pRecordset->FirstOfFile)
pRecordset->MoveFirst();
else
{
MessageBox(NULL,TEXT("表内数据为空"),TEXT("!"),MB_OK);
return FALSE;
}
while(!pRecordset->EndOfFile)
{
_variant_t var;
var.vt=VT_I4;
var.intVal=0;
int iSubItem;
_bstr_t bstrVar=(_bstr_t)pRecordset->GetCollect(var);
char *pText=bstrVar;
LVITEM lvi;
ListView_DeleteAllItems(hWndUser);
ZeroMemory(&lvi,sizeof(lvi));
lvi.mask=LVIF_TEXT;
lvi.iItem=ListView_GetItemCount(hWndUser);;
lvi.pszText=pText;
lvi.cchTextMax=sizeof(pText);
lvi.iSubItem=0;
if(ListView_InsertItem(hWndUser, &lvi) == -1)
return FALSE;
for(iSubItem=0;iSubItem <pRecordset->Fields->Count;iSubItem++)
{
var.intVal=iSubItem;
lvi.iSubItem=iSubItem;
_bstr_t bstrVar=(_bstr_t)pRecordset->GetCollect(var);
char *pText=bstrVar;
lvi.pszText=pText;
if(ListView_SetItem(hWndUser,(LPARAM)&lvi)==-1)
return FALSE;
}
pRecordset->MoveNext();
}
}
catch(_com_error e)
{
MessageBox(NULL,TEXT("ERROR"),TEXT("ERROR"),MB_OK);
return FALSE;
}
return TRUE;
}