TAG:
Using the ADO Update Function 1: void CADOMFC1View::OnRecordsetUpdate() 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->PutCollect(L"ProductName", 25: L"Bell Bottoms and Bass Guitars"); 26: pRecordSet->Update(vNull, vNull); 27: pRecordSet->Close(); 28: } 29: } 30: } 31: catch( _com_error &e ) 32: { 33: TRACE( "Error:%08lx.\\n", e.Error()); 34: TRACE( "ErrorMessage:%s.\\n", e.ErrorMessage()); 35: TRACE( "Source:%s.\\n", (LPCTSTR) _bstr_t(e.Source())); 36: TRACE( "Description:%s.\\n", (LPCTSTR) _bstr_t(e.Description())); 37: } 38: catch(...) 39: { 40: TRACE( "\\n*** Unhandled Exception ***\\n" ); 41: } 42: } (jacky) |