我用ADO连接Access数据库。数据库有一万多个记录。
在初始化时时间很长,下面时代码:
_variant_t var;
CString strName;
m_wndTreeCtrl.SetRedraw(FALSE); //添加之前不让Tree重绘
m_wndTreeCtrl.DeleteAllItems(); //
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
}
// 读入库中各字段并加入TreeCtrl中
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("Name");
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);
HTREEITEM hItemRoot=m_wndTreeCtrl.InsertItem(strName,0,0);
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_wndTreeCtrl.SetRedraw(TRUE); //添加之后才让Tree重绘
是不是我的代码有问题?还是有别的好方法?
高手们,帮帮忙吧,先谢谢了。