_variant_t strQuery,Holder;
strQuery="select 类型名称 from leixing";
theApp.ADOExecute(theApp.m_pADOSet,strQuery);
int iCount=theApp.m_pADOSet->GetRecordCount();
theApp.m_pADOSet->MoveFirst();
for(int i=0;i<iCount;i++)
{
Holder=theApp.m_pADOSet->GetCollect("类型名称");
((CComboBox*)GetDlgItem(IDC_COMBO1))->InsertString(i,Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);
theApp.m_pADOSet->MoveNext();
}
((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurSel(0);
我的数据从库中读出来了,但在点击组合框时候数据并没有显示出来啊。
我以前也遇到这个情况不知道为什么,请大家帮忙,是不是我哪个属性没设的原因啊?
6 个解决方案
#1
int iCount=theApp.m_pADOSet->GetRecordCount();
并不能得到他的真实记录数,所以你需用
!EOF(记不清了,就这个意思)
作为他的循环条件
并不能得到他的真实记录数,所以你需用
!EOF(记不清了,就这个意思)
作为他的循环条件
#2
找到原因了,我倒死了,是个很恶心的原因。下次先找找以前的帖子就好了。
如果后面有人跟帖子说对了错误原因我一样给分。
如果后面有人跟帖子说对了错误原因我一样给分。
#3
GetRecordCount()前 先MoveLast()
#4
在GetRecordCount()前
while(!m_pADOSet->adsEOF)
{m_pADOSet->MoveNext();
}
while(!m_pADOSet->adsEOF)
{m_pADOSet->MoveNext();
}
#5
是不是你没有设置那个组合框的高度?就是点组合框右方的那个向下的箭头后,再调整高度。
#6
这的确是个比较e心的问题,唉
#1
int iCount=theApp.m_pADOSet->GetRecordCount();
并不能得到他的真实记录数,所以你需用
!EOF(记不清了,就这个意思)
作为他的循环条件
并不能得到他的真实记录数,所以你需用
!EOF(记不清了,就这个意思)
作为他的循环条件
#2
找到原因了,我倒死了,是个很恶心的原因。下次先找找以前的帖子就好了。
如果后面有人跟帖子说对了错误原因我一样给分。
如果后面有人跟帖子说对了错误原因我一样给分。
#3
GetRecordCount()前 先MoveLast()
#4
在GetRecordCount()前
while(!m_pADOSet->adsEOF)
{m_pADOSet->MoveNext();
}
while(!m_pADOSet->adsEOF)
{m_pADOSet->MoveNext();
}
#5
是不是你没有设置那个组合框的高度?就是点组合框右方的那个向下的箭头后,再调整高度。
#6
这的确是个比较e心的问题,唉