这是一个发生在基于对话框的MFC应用程序下的问题。
下面的方法是我自己写的,但是只有在输出四列的情况下才能正常显示,如果输出超过四列数据的话,就不但没有显示,而且会直接退出对话框程序
void CMemberDlg::AddToList()
{
m_List.DeleteAllItems(); //m_List是CListCtrl的一个对象
CADOConn adoconn;
adoconn.OnInitADOConn(); //初始化数据库连接 _bstr_t vSQL;
vSQL = "select * from base_Member"; int i = 0; m_pRecordset = adoconn.GetRecordSet(vSQL); while(!m_pRecordset->ADOEof)
{
m_List.InsertItem(i,"",0);
m_List.SetItemText(i,0,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_num"));
m_List.SetItemText(i,1,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_name"));
m_List.SetItemText(i,2,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_pw"));
m_List.SetItemText(i,3,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_sex"));
// m_List.SetItemText(i,4,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_idcard"));
// m_List.SetItemText(i,5,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_score"));
// m_List.SetItemText(i,6,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_money"));
// m_List.SetItemText(i,7,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_statu"));
// m_List.SetItemText(i,8,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_money"));
// m_List.SetItemText(i,9,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_group"));
m_pRecordset->MoveNext();
} adoconn.ExitConnect();
}
下面的方法是我自己写的,但是只有在输出四列的情况下才能正常显示,如果输出超过四列数据的话,就不但没有显示,而且会直接退出对话框程序
void CMemberDlg::AddToList()
{
m_List.DeleteAllItems(); //m_List是CListCtrl的一个对象
CADOConn adoconn;
adoconn.OnInitADOConn(); //初始化数据库连接 _bstr_t vSQL;
vSQL = "select * from base_Member"; int i = 0; m_pRecordset = adoconn.GetRecordSet(vSQL); while(!m_pRecordset->ADOEof)
{
m_List.InsertItem(i,"",0);
m_List.SetItemText(i,0,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_num"));
m_List.SetItemText(i,1,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_name"));
m_List.SetItemText(i,2,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_pw"));
m_List.SetItemText(i,3,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_sex"));
// m_List.SetItemText(i,4,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_idcard"));
// m_List.SetItemText(i,5,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_score"));
// m_List.SetItemText(i,6,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_money"));
// m_List.SetItemText(i,7,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_statu"));
// m_List.SetItemText(i,8,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_money"));
// m_List.SetItemText(i,9,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_group"));
m_pRecordset->MoveNext();
} adoconn.ExitConnect();
}
解决方案 »
- 50分找寻一个CTrackRect的例子
- 用static 显示OnTimer 时间时,时间被重叠怎么办,代码如下?
- 如何取得当前记录集指针所指向记录的记录号?
- 大家帮个忙,一个关于数据库连接的问题,急,在线等待!!!!
- 求LISTCONTROL的函数、方法、属性介绍和实例
- 怎样在CDataGrid控件中提交用户新加数据之前获取用户输入的值?
- 高手请看调已写好的DLL出现的问题
- 用pDC->Rectangle()画个矩形,但不填充里面的区域,能作到么?
- 把编辑框内容保存为txt,打开保存对话框关闭后主界面标题栏变灰
- 那里有<<Windows核心编程>>中文版下载?
- 如何将CPropertySheet嵌入对话框中
- 在线求救!串口通信问题!
如果只有3列的话就只能显示3列的数据了,对于为什么退出我也不知道
m_List.InsertColumn(1,"第二列");
.............
看看有多少列?