void CXMLwithSQLDlg::OnBnClickedCselect()
{
long ColCounti = 0;
int m = 0;
DDlog Ddlog;
//定义一个记录集
FieldsPtr fields;
//两种类型的字段名
CString strColName;
BSTR bstrColName;
//定义记录集
_RecordsetPtr m_Rset;
//删除listcontrol初始化
for(int i = 0;i < MAX_COLCOUNT;i++)
{
m_list.DeleteColumn(0);
}
m_list.DeleteAllItems();
Ddlog.DoModal();
m_Rset = m_ado.GetRecordset();
try
{
//得到记录集字段的集合。
HRESULT h = m_Rset->get_Fields(&fields);
//得到记录集字段集合中的总个数
if(SUCCEEDED(h))
{
fields->get_Count(&ColCounti);
}
for(long i = 0;i < ColCounti;i++)
{
//得到记录集中的字段名
fields->Item[i]->get_Name(&bstrColName);
strColName = bstrColName;
//加载到控件中
m_list.InsertColumn(i, strColName);
}
CRect recti;
m_list.GetClientRect(recti);
for(long i = 0;i < ColCounti;i++)
{
m_list.SetColumnWidth(i, recti.Width()/6);
}
/*把表中的数据读取到界面上*/
while(!m_Rset->adoEOF)
{
CString m_ID;
m_list.InsertItem(m, "0");
for(long i = 0;i < ColCounti;i++)
{
fields->Item[i]->get_Name(&bstrColName);
//判断表中字段值是否为空
if(m_Rset->GetCollect(bstrColName).vt != VT_NULL)
{
m_ID = (char*)(_bstr_t) m_Rset->GetCollect(bstrColName);
}
else
{
m_ID = "";
}
m_list.SetItemText(m, i, m_ID);
}
m_Rset->MoveNext();
m++;
}
}
catch(_com_error e)
{
e.Description();
}
}
{
long ColCounti = 0;
int m = 0;
DDlog Ddlog;
//定义一个记录集
FieldsPtr fields;
//两种类型的字段名
CString strColName;
BSTR bstrColName;
//定义记录集
_RecordsetPtr m_Rset;
//删除listcontrol初始化
for(int i = 0;i < MAX_COLCOUNT;i++)
{
m_list.DeleteColumn(0);
}
m_list.DeleteAllItems();
Ddlog.DoModal();
m_Rset = m_ado.GetRecordset();
try
{
//得到记录集字段的集合。
HRESULT h = m_Rset->get_Fields(&fields);
//得到记录集字段集合中的总个数
if(SUCCEEDED(h))
{
fields->get_Count(&ColCounti);
}
for(long i = 0;i < ColCounti;i++)
{
//得到记录集中的字段名
fields->Item[i]->get_Name(&bstrColName);
strColName = bstrColName;
//加载到控件中
m_list.InsertColumn(i, strColName);
}
CRect recti;
m_list.GetClientRect(recti);
for(long i = 0;i < ColCounti;i++)
{
m_list.SetColumnWidth(i, recti.Width()/6);
}
/*把表中的数据读取到界面上*/
while(!m_Rset->adoEOF)
{
CString m_ID;
m_list.InsertItem(m, "0");
for(long i = 0;i < ColCounti;i++)
{
fields->Item[i]->get_Name(&bstrColName);
//判断表中字段值是否为空
if(m_Rset->GetCollect(bstrColName).vt != VT_NULL)
{
m_ID = (char*)(_bstr_t) m_Rset->GetCollect(bstrColName);
}
else
{
m_ID = "";
}
m_list.SetItemText(m, i, m_ID);
}
m_Rset->MoveNext();
m++;
}
}
catch(_com_error e)
{
e.Description();
}
}