void CImageBoardView::OnEditCopy()
{
CPoint ptStart(m_ptStart);
DibToClient(ptStart);
vStartX = ptStart.x;
vStartY = ptStart.y;
vStopX = m_rcRubber.right;
vStopY= m_rcRubber.bottom; HRESULT hr;
try { hr = m_pRecordset.CreateInstance("ADODB.Recordset");//创建Recordset对象 if(SUCCEEDED(hr)) { hr=m_pRecordset->Open("SELECT StartX,StartY,StopX,StopY FROM PicKind",_variant_t((IDispatch*) m_pConnection,true),adOpenStatic, adLockOptimistic , adCmdText); //创建数据集。 } } catch(_com_error e)///捕捉异常 { CString errormessage; errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息 }
CopyToClipboard();
}
为什么 运行到 hr=m_pRecordset->Open("SELECT StartX,StartY,StopX,StopY FROM PicKind",_variant_t((IDispatch*)m_pConnection,true),adOpenStatic, adLockOptimistic , adCmdText); 就报错啊:Unhandled exception in imageboard.exe :0XC0000005 :access violation 请指教。
{
CPoint ptStart(m_ptStart);
DibToClient(ptStart);
vStartX = ptStart.x;
vStartY = ptStart.y;
vStopX = m_rcRubber.right;
vStopY= m_rcRubber.bottom; HRESULT hr;
try { hr = m_pRecordset.CreateInstance("ADODB.Recordset");//创建Recordset对象 if(SUCCEEDED(hr)) { hr=m_pRecordset->Open("SELECT StartX,StartY,StopX,StopY FROM PicKind",_variant_t((IDispatch*) m_pConnection,true),adOpenStatic, adLockOptimistic , adCmdText); //创建数据集。 } } catch(_com_error e)///捕捉异常 { CString errormessage; errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息 }
CopyToClipboard();
}
为什么 运行到 hr=m_pRecordset->Open("SELECT StartX,StartY,StopX,StopY FROM PicKind",_variant_t((IDispatch*)m_pConnection,true),adOpenStatic, adLockOptimistic , adCmdText); 就报错啊:Unhandled exception in imageboard.exe :0XC0000005 :access violation 请指教。
m_strQuery="SELECT StartX,StartY,StopX,StopY FROM PicKind";
hr=m_pRecordset->Open((LPCSTR)m_strQuery,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic, adLockOptimistic , adCmdText);
这是初始化的时候
BOOL CImageBoardApp::InitInstance()
{
CoInitialize(NULL);
AfxOleInit();//链接数据库
HRESULT hr; try { hr = m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象 if(SUCCEEDED(hr)) { m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=XinDa.mdb;Jet OLEDB:Database Password=zc","","",adModeUnknown);
}
}
catch(_com_error e)///捕捉异常 { CString errormessage; errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息 }
AfxEnableControlContainer();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open("SELECT StartX,StartY,StopX,StopY FROM PicKind",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);