请帮我看看这个连接数据库的程序,编译通过,却实现不了连接.谢谢....
是mfc dll 的ug二次开发.ufsta接口放在另外的文件中
BOOL CElementInfoDlg::OnInitDialog()
{AfxOleInit();//初始化COM
HRESULT hr;
try
{hr=m_pCon.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\fixture\code\fixture.mdb","","",adModeUnknown);}
}
catch (_com_error e){CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;}
try
{
m_pRec.CreateInstance("ADODB.Recordset");
m_pRec->Open("SELECT*FROM 元件信息表",_variant_t((IDispatch*)m_pCon,true),adOpenDynamic,adLockOptimistic,adCmdText);
//创建记录集*/
m_bSuccess= TRUE;
_variant_t vFieldValue;CString sname,stype;//操作数据库
m_pRec->MoveFirst();
vFieldValue=m_pRec->GetCollect("元件名称");
sname=(LPCSTR)_bstr_t(vFieldValue);
vFieldValue.Clear();
vFieldValue=m_pRec->GetCollect("所属类别");
stype=(LPCSTR)_bstr_t(vFieldValue);
m_name=sname;m_type=stype; //赋值给编辑框控件
UpdateData(FALSE);
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
} |