我数据库中有二个表,表中的行数不一样,我用CLISTVIEW 显示,一个表显示正常,另外一个表一般显示正常,大部分没显示,还有出现一些乱码。
while (!pRecordset->GetadoEOF ())
{
listctrl.InsertItem(nCount,data_name[nCount]);
for (i=0;i<cols;i++)
{
.....
lptext = (LPCTSTR)(_bstr_t)get_name;
listctrl.SetItemText(nCount,i,lptext);
}
pRecordset->MoveNext();
nCount++;
}
二个表的获取和显示代码完全一样的 为什么会出现乱码现象,我获取的数据不是乱码 我调试过都正常就是显示出问题。
我写了个测试程序单独读和显示 那个有问题的表代码页一样不会出问题,但二个表和在一起就出现这样的问题了
while (!pRecordset->GetadoEOF ())
{
listctrl.InsertItem(nCount,data_name[nCount]);
for (i=0;i<cols;i++)
{
.....
lptext = (LPCTSTR)(_bstr_t)get_name;
listctrl.SetItemText(nCount,i,lptext);
}
pRecordset->MoveNext();
nCount++;
}
二个表的获取和显示代码完全一样的 为什么会出现乱码现象,我获取的数据不是乱码 我调试过都正常就是显示出问题。
我写了个测试程序单独读和显示 那个有问题的表代码页一样不会出问题,但二个表和在一起就出现这样的问题了
listctrl.SetItemText(nCount,j,(LPCTSTR)lptext);这个好像是出现问题的地方,前8条都能写进去
但第9条开始 写不进去了 lptext的数据是正常的,我用
CString aa;
aa=listctrl.GetItemText(nCount,1);
测试,从第9条开始就一直没数据。有人出现过这样的问题吗如果连接记录集 是用_RecordsetPtr open方式 那么不会出现这样的情况,
我用的是_CommandPtr Execute的方式 SQL = "SELECT * FROM [供货商]";
{
listctrl.InsertItem(nCount,data_name[nCount]);
for (int j=0;j<cols;j++)
{
f=listctrl.SetItemText(nCount,j,"00");
}
pRecordset->MoveNext();
nCount++;
}
我这样写当nCount<9的时候 都能写的进
但当nCount>=9时 f=0
那位大侠知道怎么回事啊 是不是CListCtrl的属性没设对啊
那位大侠快来救救我啊
while (!pRecordset->GetadoEOF ())
{
listctrl.InsertItem(nCount,data_name[nCount]);
//问题所在
for (int j=0;j<cols;j++)
{
f=listctrl.SetItemText(nCount,j,"00");
}
pRecordset->MoveNext();
nCount++;
}
data_name[cols] 是我取的字段名,nCount是我的表中所有的行数,cols<nCount所有才出现到第9行出现乱码的问题;现在我想问如何改才能正常?