TAG:
Using the ADO Delete Function 1: void CADOMFC1View::OnRecordsetDelete() 2: { 3: RecordsetPtr pRecordSet; 4: CADOMFC1Doc * pDoc; 5: pDoc = GetDocument(); 6: 7: HRESULT hr; 8: bstr_t bstrQuery( 9: "SELECT * FROM Products WHERE PartNumber = '8TRACK-003'"); 10: variant_t vNull; 11: vNull.vt = VT_ERROR; 12: vNull.scode = DISP_E_PARAMNOTFOUND; 13: 14: try 15: { 16: hr = pRecordSet.CreateInstance(_uuidof(Recordset)); 17: if (SUCCEEDED(hr)) 18: { 19: pRecordSet->PutRefActiveConnection(pDoc->m_pConnection); 20: hr = pRecordSet->Open(_variant_t(bstrQuery), vNull, 21: adOpenForwardOnly, adLockOptimistic, adCmdText); 22: if (!pRecordSet->GetadoEOF()) 23: { 24: pRecordSet->Delete(adAffectCurrent); 25: pRecordSet->Close(); 26: } 27: } 28: } 29: catch( _com_error &e ) 30: { 31: TRACE( "Error:%08lx.\\n", e.Error()); 32: TRACE( "ErrorMessage:%s.\\n", e.ErrorMessage()); 33: TRACE( "Source:%s.\\n", (LPCTSTR) _bstr_t(e.Source())); 34: TRACE( "Description:%s.\\n", (LPCTSTR) _bstr_t(e.Description())); 35: } 36: catch(...) 37: { 38: TRACE( "\\n*** Unhandled Exception ***\\n" ); 39: } 40: } (jacky) |