22,298
社区成员
发帖
与我相关
我的任务
分享bool CConToManageSys::OnConnectDatabase(void)
{
HRESULT hr;
//_ConnectionPtr m_pConnection;
/*if(!AfxOleInit())//AfxOleInit()是封装了OleInitialize()来初始化com组件
{ //不能使用俩次
AfxMessageBox((LPCTSTR)"COM组件初始化错误",0,0);//
return false;
}
else*/
{
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString="Provider=SQLOLEDB; Data Source=127.0.0.1; Initial Catalog=DB_Car; User ID=sa; Password=123456";
hr=m_pConnection->Open("","","",-1);
// MessageBox(_T("数据库连接成功"));
// hr = m_pConnection->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb ", " ", " ",adModeUnknown);
///连接数据库 ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
}
else
{
return false;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format( _T("连接数据库失败!\r\n错误信息:%s "),e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return false;
}
return true;
}
}try
{
_variant_t RecordsAffected;
_bstr_t sno, sname,sage;
mysql.m_pRecordset = mysql.m_pConnection->Execute("select * from store",&RecordsAffected,adCmdText);
while(!mysql.m_pRecordset->adoEOF)
{//获取表中信息
mysql.m_pRecordset->MoveNext();
}
// AfxMessageBox("查询成功!");
}catch (_com_error e)
{
CString errormessage;
errormessage.Format(_T("查询失败!\r\n错误信息:%s"),e.ErrorMessage());
AfxMessageBox(errormessage);
return true;
}