您的位置:首页 > 其它

list control不显示数据问题

2010-12-06 13:06 281 查看
当从数据库查询并在list control中显示时,没有显示数据,通过调试发现已经从数据库中获得所查询的记录值,但就是不在listcontrol中显示。问题在于SetItemText()之前没有进行InsertItem(),所以在每次进行SetItemText()应该先InsertItem()一行或多行。代码如下:

CDataBase::Open();
pRecordset=CDataBase::Query(strsql);
int index=0;
CString m_ID,m_name,m_title,m_department;
while(!pRecordset->adoEOF)
{

m_doctorlist.InsertItem(index,_T(""));//先插入一列,然后才设置内容
_variant_t var=pRecordset->GetCollect("医生编号");
if(var.vt!=VT_NULL)
m_ID=(LPCSTR)_bstr_t(var);
//AfxMessageBox(m_ID);
var=pRecordset->GetCollect("医生姓名");
if(var.vt!=VT_NULL)
m_name=(LPCSTR)_bstr_t(var);
//AfxMessageBox(m_name);
var=pRecordset->GetCollect("职称");
if(var.vt!=VT_NULL)
m_title=(LPCSTR)_bstr_t(var);
var=pRecordset->GetCollect("科室");
if(var.vt!=VT_NULL)
m_department=(LPCSTR)_bstr_t(var);

m_doctorlist.SetItemText(index,0,m_ID);//index为行,0为列
m_doctorlist.SetItemText(index,1,m_name);
m_doctorlist.SetItemText(index,2,m_title);
m_doctorlist.SetItemText(index,3,m_department);
index++;

pRecordset->MoveNext();
}

CDataBase::Close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: