MFC里面记录集写CListCtrl的时候出现问题,插入行正常,但是不能在行里写数据是什么问题?

这个是在OnInitDialog里面写的db.ConnDB();//打开连接db.ExecuteQuery(str);//执行str语句inti=0;while(!db.... 这个是在OnInitDialog里面写的
db.ConnDB();//打开连接
db.ExecuteQuery(str);//执行str语句
int i=0;
while(!db.m_recordset->adoEOF)
{
m_list.InsertItem(i++,(_bstr_t)db.m_recordset->GetCollect("id"));//这个是可以执行的,结果也正常
m_list.SetItemText(i++,1,(_bstr_t)db.m_recordset->GetCollect("name"));//这句不执行
m_list.SetItemText(i++,1,"张三");/将每行第二个元素都设置为这个名字,这句也不执行
db.m_recordset->MoveNext();
}
但是在这个循环外面执行下面这几条的时候就是正常的
m_list.InsertItem(0,"2012112105");
m_list.SetItemText(0,1,"张三");
m_list.SetItemText(0,2,"96");
请问这是为什么?
展开
 我来答
百度网友bec1679
2012-05-20 · TA获得超过2185个赞
知道大有可为答主
回答量:1093
采纳率:66%
帮助的人:629万
展开全部
List Control 控件属性 --- Style-- View:Report 这个设置没
还有,(_bstr_t)db.m_recordset->GetCollect("name") 这个返回的是一个什么类型数据

你这个循环也有问题:
每一条一句都 i++ 干啥。。这样不就加了3次么
试试这样:全写成 i ,然后
i++;
db.m_recordset->MoveNext();
474768238
2012-06-07
知道答主
回答量:59
采纳率:0%
帮助的人:23.8万
展开全部
我今天也遇到同样的问题,楼主,你解决了吗,求解

int i = 0;
for (POSITION position = pList->GetHeadPosition(); position != NULL; i++)
{
CDeviceData deviceData = pList->GetNext(position);
m_list.InsertItem(i, deviceData.m_strDeviceName);
m_list.SetItemText(i, 1, deviceData.m_strDriverVersion);这句有少部分执行了
m_list.SetItemText(i, 2, "Andox");//这句没执行
}
大虾求解啊啊啊啊啊啊啊啊啊

我知道了,是因为选择排序了LVS_SORTASCENDING,所以第一列插入可以,但是第二列插入的时候,那个i并不和第一列是对应的.另外好像总是在第一行插入的,不知道怎么回事.
追问
解决了。我的用FOR语句是可用的,WHILE语句就不行,不知道为什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式