这段代码为什么会抛出异常?急!
数据库是用的SQL Server2000
_RecordsetPtr pRecordset;
CMainMonDoc* pDoc;
pDoc = GetDocument();
CString QueryStr;
HRESULT hr;
sprintf(str, "SELECT * FROM ScoreData WHERE Speed=%d ORDER BY OrderNo",
0,73);
_bstr_t bstrQuery( str );
_variant_t vNull;
vNull.vt = VT_ERROR;
vNull.scode = DISP_E_PARAMNOTFOUND;
int i = 0;
try
{
hr = pRecordset.CreateInstance(_uuidof(Recordset));
if(SUCCEEDED(hr))
{
pRecordset->PutRefActiveConnection(pDoc->m_pConnection);
hr = pRecordset->Open((_variant_t)bstrQuery, _variant_t((IDispatch *)pDoc->m_pConnection,true),
adOpenForwardOnly, adLockOptimistic, adCmdText);
while(!pRecordset->GetadoEOF())
{
pRecordset->PutCollect(L"Id", &(_variant_t((long)8)));
pRecordset->Update(vNull, vNull);
//pRecordset->Fields->GetItem(_variant_t("ID"))->Value = _variant_t((long)QP_ID[i]);
//pRecordset->Update();
i++;
pRecordset->MoveNext();
}
pRecordset->Close();
}
}
catch(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
TRACE("Exception thrown for classes generated by #import");
TRACE("\tCode=%08lx\n",e.Error());
TRACE("\tCode Meaning: %s\n",e.ErrorMessage());
TRACE("\tSource: %s\n", (LPCTSTR)bstrSource);
TRACE("\tDescription: %s\n", (LPCTSTR)bstrDescription);
}
catch(...)
{
TRACE("Unhandled Exception************************");
}