BOOL CDatabaseDlg::OnInitDialog(void)
{
CDialog::OnInitDialog(); m_SelectDatabase.InsertColumn(0,L"考试名称",LVCFMT_LEFT,120);
m_SelectDatabase.InsertColumn(1,L"考试时间",LVCFMT_LEFT,120);
m_SelectDatabase.InsertColumn(2,L"考试地点",LVCFMT_LEFT,120);

if(FAILED(::CoInitialize(NULL))) 
return TRUE;  //创建Connection对象
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));
if (SUCCEEDED(hr))
{
hr=m_pConnection->Open(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Standard.mdb",
"","",adModeUnknown);//连接数据库
}
}
catch(_com_error e)//捕捉异常
{
CString errormessage;
errormessage.Format(L"连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);//显示错误信息
} m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open("Select * From Database",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format(L"连接数据表失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);//显示错误信息
}
try
{ int i=0;
while(!m_pRecordset->EndOfFile)
{
m_SelectDatabase.InsertItem(i,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("name"));
m_SelectDatabase.SetItemText(i,1,(LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("time")));
m_SelectDatabase.SetItemText(i,2,(LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("location")));
m_SelectDatabase.SetItemText(i,3,(LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("path")));
i++;
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}

m_pRecordset->Update(); return TRUE;
}