BOOL CContactDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
AfxOleInit();
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
_variant_t RecordsAffected;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout=5;
if(m_pConnection->State)
m_pConnection->Close();
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=contact.mdb","","",adModeUnknown);
AfxMessageBox("连接成功");
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset=m_pConnection->Execute("select * from contacts",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount=m_pRecordset->GetCollect(vIndex);
_variant_t var;
char *str;
try
{
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
else
{
AfxMessageBox("表内数据为空");
return TRUE;
}
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("position");
if(var.vt != VT_NULL)
{
str=_com_util::ConvertBSTRToString((_bstr_t)var);
AfxMessageBox(str);
m_pRecordset->MoveNext();
}
}
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format("读取错误:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
return TRUE;
}