void CLryEDBQryView::SingleReport(CReportSele *pDlg) { _variant_t str; int nItemIndex; CLryEDBQryDoc* pDoc = GetDocument(); if(( nItemIndex=GetListCtrl().GetNextItem(-1,LVNI_SELECTED))!=-1) { pDoc->Rs->Move(nItemIndex,(long)adBookmarkFirst); str = pDoc->Rs->GetCollect(_bstr_t("试验编号")); CString strSQL; strSQL.Format(_T("select * from 热容量 where 试验编号='%s'"),VariantToStr(str)); try { HRESULT hr; if(pDoc->RsPrintData->State==adStateOpen) pDoc->RsPrintData->Close(); hr = pDoc->RsPrintData->Open(strSQL.AllocSysString(), theApp.pConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, -1); TESTHR(hr); if(pDoc->RsTitle->State==adStateOpen) pDoc->RsTitle->Close(); strSQL = _T("select * from 系统参数"); hr = GetDocument()->RsTitle->Open(strSQL.AllocSysString(), theApp.pConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, -1); TESTHR(hr); pReportdlg.Init(0); pReportdlg.SetModifyPrepared(TRUE); LPCTSTR dbName2 = _T("CopyHeat"); pReportdlg.AddAdoDataSet(dbName2,((CLryEDBQryDoc*)GetDocument())->RsTitle); pReportdlg.SetModifyPrepared(TRUE); LPCTSTR dbName1 = _T("SReportHeat"); pReportdlg.AddAdoDataSet(dbName1,((CLryEDBQryDoc*)GetDocument())->RsPrintData); //nItemIndex = pDoc->RsPrintData->GetRecordCount(); //pDoc->RsPrintData->MoveFirst(); CString File(pDlg->cPath); File+=_T("reports\\")+pDlg->cFile; LPCTSTR path = File.GetBuffer(File.GetLength()); pReportdlg.SetReportFile(path); File.ReleaseBuffer(); if(pDlg->m_iSelect==0) pReportdlg.ShowReport(); //设计报表 else pReportdlg.DesignReport(); // 预览报表 } catch(_com_error &e) { dump_com_error(e); } } }
_bstr_t MTConnectDeviceParser::ParseXMLDocument(_bstr_t xmlfile, _bstr_t xsdfile, _bstr_t xsdname) { _bstr_t parseError(L""); try{ IXMLDOMParseErrorPtr pError; // load the XML file // ****** you need to use IXMLDOMDocument2 interface ********* HRESULT hr = m_pXMLDoc.CreateInstance(__uuidof(MSXML2::DOMDocument)); m_pXMLDoc->async = VARIANT_FALSE; hr = m_pXMLDoc->load(xmlfile); //check on the parser error if(hr!=VARIANT_TRUE) { return checkParseError(m_pXMLDoc->parseError); } #if 0 //load the XSD file if(xsdfile!=NULL) { hr = m_pXSDDoc.CreateInstance(__uuidof(MSXML2::DOMDocument)); m_pXSDDoc->async = VARIANT_FALSE; hr = m_pXSDDoc->load(xsdfile /*"books.xsd"*/); //check on the parser error if(hr!=VARIANT_TRUE) { return checkParseError(m_pXSDDoc->parseError); } //create schemacache hr = m_pSchemaCache.CreateInstance(__uuidof(MSXML2::XMLSchemaCache)); m_pXMLDoc->schemas = m_pSchemaCache.GetInterfacePtr(); //hook it up with XML Document hr = m_pSchemaCache->add(xsdname /*"urn:books"*/, m_pXSDDoc.GetInterfacePtr()); //call validate pError = m_pXMLDoc->validate(); } #endif // //if(pError->errorCode != S_OK) //{ // parseError = _bstr_t("Error code: ")+ _bstr_t(pError->errorCode) +_bstr_t("\n") + _bstr_t("Reason: ")+ pError->Getreason(); // MessageBox(NULL, (char*)parseError, "Parse Error",MB_OK); //} } catch(_com_error &e) { dump_com_error(e); } return parseError; }
void CLryEDBQryView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { CListCtrl *ListCtrl = (CListCtrl *)&GetListCtrl(); CLryEDBQryDoc *pDoc = (CLryEDBQryDoc *)GetDocument(); CLryEDBQryDoc::CRowObj *rowInfo; int i; switch(lHint) { case 0: FillList(); //填写表格 break; case 1: try { i = pDoc->Rs->AbsolutePosition-1; ListCtrl->EnsureVisible(i,TRUE); } catch(_com_error &e) { dump_com_error(e); } break; case 2: rowInfo = (CLryEDBQryDoc::CRowObj*)pHint; ListCtrl->DeleteItem(rowInfo->RowNO); ListCtrl->Update(rowInfo->RowNO); break; default: break; } }
BOOL CADORecordset::GetFieldValue(int nIndex, bool& bValue) { _variant_t vtFld; _variant_t vtIndex; vtIndex.vt = VT_I2; vtIndex.iVal = nIndex; try { vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value; switch(vtFld.vt) { case VT_BOOL: bValue = vtFld.boolVal == VARIANT_TRUE? true: false; break; case VT_EMPTY: case VT_NULL: bValue = false; break; default: return FALSE; } return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADOParameter::GetValue(COleDateTime& time) { _variant_t vtVal; try { vtVal = m_pParameter->Value; switch(vtVal.vt) { case VT_DATE: { COleDateTime dt(vtVal); time = dt; } break; case VT_EMPTY: case VT_NULL: time.SetStatus(COleDateTime::null); break; default: return FALSE; } return TRUE; } catch(_com_error& e) { dump_com_error(e); return FALSE; } }
BOOL CADOParameter::SetValue(CString strValue) { _variant_t vtVal; ASSERT(m_pParameter != NULL); if(!strValue.IsEmpty()) vtVal.vt = VT_BSTR; else vtVal.vt = VT_NULL; //Corrected by Giles Forster 10/03/2001 vtVal.bstrVal = strValue.AllocSysString(); //vtVal.SetString(strValue.GetBuffer(0)); try { if(m_pParameter->Size == 0) m_pParameter->Size = sizeof(char) * strValue.GetLength(); m_pParameter->Value = vtVal; ::SysFreeString(vtVal.bstrVal); return TRUE; } catch(_com_error &e) { dump_com_error(e); ::SysFreeString(vtVal.bstrVal); return FALSE; } }
BOOL CADODatabase::Open(LPCTSTR lpstrConnection, LPCTSTR lpstrUserID, LPCTSTR lpstrPassword) { HRESULT hr = S_OK; if(IsOpen()) Close(); if(strcmp(lpstrConnection, _T("")) != 0) m_strConnection = lpstrConnection; ASSERT(!m_strConnection.IsEmpty()); try { if(m_nConnectionTimeout != 0) m_pConnection->PutConnectionTimeout(m_nConnectionTimeout); hr = m_pConnection->Open(_bstr_t(m_strConnection), _bstr_t(lpstrUserID), _bstr_t(lpstrPassword), NULL); return hr == S_OK; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADORecordset::GetChunk(FieldPtr pField, CString& strValue) { CString str; long lngSize, lngOffSet = 0; _variant_t varChunk; lngSize = pField->ActualSize; //Áг¤¶È str.Empty(); while(lngOffSet < lngSize) { try { varChunk = pField->GetChunk(ChunkSize); str += varChunk.bstrVal; lngOffSet += ChunkSize; } catch(_com_error &e) { dump_com_error(e); return FALSE; } } lngOffSet = 0; strValue = str; return TRUE; }
BOOL CADORecordset::GetFieldValue(LPCTSTR lpFieldName, bool& bValue) { _variant_t vtFld; try { vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value; switch(vtFld.vt) { case VT_BOOL: bValue = vtFld.boolVal == VARIANT_TRUE? true: false; break; case VT_EMPTY: case VT_NULL: bValue = false; break; default: return FALSE; } return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADORecordset::GetFieldValue(int nIndex, SYSTEMTIME& time) { _variant_t vtFld; _variant_t vtIndex; DOUBLE vt; vtIndex.vt = VT_I2; vtIndex.iVal = nIndex; try { vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value; switch(vtFld.vt) { case VT_DATE: { vt = vtFld.date; VariantTimeToSystemTime(vt,&time); } break; case VT_EMPTY: case VT_NULL: memset(&time,0,sizeof(SYSTEMTIME)); /*time.SetStatus(COleDateTime::null);**/ break; default: return FALSE; } return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CRDB::LoadParamFromDB(CString sDeviceType) { BOOL bResult = TRUE; HRESULT hr= S_OK; //CString strSQL; try { if(pRsDev->State==adStateClosed) { strSQL.Format(_T("select * from %s"),sDeviceType); hr = pRsDev->Open(strSQL.AllocSysString(), theApp.pConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, -1); if (pRsDev->RecordCount>0) { pRsDev->MoveFirst(); } } bResult = UpdateParamFromDB(); } catch(_com_error &e) { bResult = FALSE; e.ErrorMessage(); dump_com_error(e); } return bResult; }
BOOL CADORecordset::GetFieldValue(int nIndex, COleDateTime& time) { _variant_t vtFld; _variant_t vtIndex; vtIndex.vt = VT_I2; vtIndex.iVal = nIndex; try { vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value; switch(vtFld.vt) { case VT_DATE: { COleDateTime dt(vtFld); time = dt; } break; case VT_EMPTY: case VT_NULL: time.SetStatus(COleDateTime::null); break; default: return FALSE; } return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADORecordset::GetFieldValue(LPCTSTR lpFieldName, unsigned char& ucValue) { int val = 0; _variant_t vtFld; try { vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value; switch(vtFld.vt) { case VT_BOOL: val = vtFld.boolVal; break; case VT_I2: case VT_UI1: val = vtFld.iVal; break; case VT_INT: val = vtFld.intVal; break; case VT_NULL: case VT_EMPTY: val = 0; break; default: val = vtFld.iVal; } ucValue = val; return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADOParameter::SetValue(wstring strValue) { _variant_t vtVal; ASSERT(m_pParameter != NULL); if(!strValue.empty()) vtVal.vt = VT_BSTR; else vtVal.vt = VT_NULL; vtVal.bstrVal = _bstr_t(strValue.c_str()); try { if(m_pParameter->Size == 0) m_pParameter->Size = sizeof(char) * strValue.length(); m_pParameter->Value = vtVal; ::SysFreeString(vtVal.bstrVal); return TRUE; } catch(_com_error &e) { dump_com_error(e); ::SysFreeString(vtVal.bstrVal); return FALSE; } }
void CLryEDBQryDoc::OnDeleteRecord() { HRESULT hr; try { if((theApp.UserInfo.bLogon()== TRUE)&& (ID_OK==MessageBox(NULL,_T("确认删除记录吗?"),_T("警告!"),MB_OKCANCEL+MB_ICONWARNING+MB_TASKMODAL))) { pObj.RowNO = Rs->AbsolutePosition-1; hr = Rs->Delete(adAffectCurrent); TESTHR(hr); hr = Rs->Update(); TESTHR(hr); hr = MoveNext(); TESTHR(hr); //hr = MovePrevious(); //TESTHR(hr); UpdateAllViews(NULL,2,&pObj); } } catch(_com_error &e) { dump_com_error(e); } }
void CLryEDBQryDoc::OnCursorMove(UINT nID) { try { switch(nID) { case ID_RECORD_FIRST: MoveFirst(); break; case ID_RECORD_PREV: MovePrevious(); break; case ID_RECORD_NEXT: MoveNext(); break; case ID_RECORD_LAST: MoveLast(); break; default: break; } } catch(_com_error &e) { dump_com_error(e); } UpdateAllViews( NULL,1); }
BOOL CADORecordset::GetFieldValue(int nIndex, COleCurrency& cyValue) { _variant_t vtFld; _variant_t vtIndex; vtIndex.vt = VT_I2; vtIndex.iVal = nIndex; try { vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value; switch(vtFld.vt) { case VT_CY: cyValue = (CURRENCY)vtFld.cyVal; break; case VT_EMPTY: case VT_NULL: { cyValue = COleCurrency(); cyValue.m_status = COleCurrency::null; } break; default: return FALSE; } return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
void CPointArrayView::OnUpdate() { if (UpdateData() != TRUE) return; int nSel = m_ctlList.GetCurSel(); if (nSel == LB_ERR) { AfxMessageBox(IDS_SELECT_POINT_TO_BE_UPDATED); return; } // Replace the point in the CArray of CPoints. CPoint pt(m_x, m_y); try { GetDocument()->m_ptArray->Array[nSel] = pt; } catch(_com_error& e) { dump_com_error(e); } // Update the old point in the listbox by removing // the old entry and adding a new entry. m_ctlList.DeleteString(nSel); AddPointToListBox(pt, nSel); }
BOOL CADORecordset::GetFieldValue(int nIndex, double& dbValue) { double val = (double)NULL; _variant_t vtFld; _variant_t vtIndex; vtIndex.vt = VT_I2; vtIndex.iVal = nIndex; int nTempScale ; try { vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value; switch(vtFld.vt) { case VT_R4: val = vtFld.fltVal; break; case VT_R8: val = vtFld.dblVal; break; case VT_DECIMAL: //Corrected by Jos?Carlos Mart韩ez Gal醤 val = vtFld.decVal.Lo32; val *= (vtFld.decVal.sign == 128)? -1 : 1; nTempScale = vtFld.decVal.scale ; val /= pow((long double)10, nTempScale); break; case VT_UI1: val = vtFld.iVal; break; case VT_I2: case VT_I4: val = vtFld.lVal; break; case VT_INT: val = vtFld.intVal; break; case VT_CY: //Added by John Andy Johnson!!!! vtFld.ChangeType(VT_R8); val = vtFld.dblVal; break; case VT_NULL: case VT_EMPTY: val = 0; break; default: val = 0; } dbValue = val; return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADORecordset::GetFieldValue(int nIndex, double& dbValue) { double val = (double)NULL; _variant_t vtFld; _variant_t vtIndex; vtIndex.vt = VT_I2; vtIndex.iVal = nIndex; try { vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value; switch(vtFld.vt) { case VT_R4: val = vtFld.fltVal; break; case VT_R8: val = vtFld.dblVal; break; case VT_DECIMAL: val = vtFld.decVal.Lo32; val *= (vtFld.decVal.sign == 128)? -1 : 1; val /= pow((float)10, vtFld.decVal.scale); break; case VT_UI1: val = vtFld.iVal; break; case VT_I2: case VT_I4: val = vtFld.lVal; break; case VT_INT: val = vtFld.intVal; break; case VT_CY: vtFld.ChangeType(VT_R8); val = vtFld.dblVal; break; case VT_NULL: case VT_EMPTY: val = 0; break; default: val = 0; } dbValue = val; return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
void CIntListView::OnRemoveAll() { try { // Remove all of the integers from the CList<int,int>. GetDocument()->m_intList->RemoveAll(); } catch(_com_error& e) { dump_com_error(e); } // Remove all of the integers from the listbox. m_ctlList.ResetContent(); }
void CPointArrayView::OnRemoveAll() { try { // Remove all of the points from the CArray of CPoints. GetDocument()->m_ptArray->RemoveAll(); } catch(_com_error& e) { dump_com_error(e); } // Remove all of the points from the listbox. m_ctlList.ResetContent(); }
BOOL CADORecordset::GetFieldValue(LPCTSTR lpFieldName, double& dbValue) { double val = (double)NULL; _variant_t vtFld; try { vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value; switch(vtFld.vt) { case VT_R4: val = vtFld.fltVal; break; case VT_R8: val = vtFld.dblVal; break; case VT_DECIMAL: //Corrected by José Carlos Martínez Galán val = vtFld.decVal.Lo32; val *= (vtFld.decVal.sign == 128)? -1 : 1; val /= pow(10, vtFld.decVal.scale); break; case VT_UI1: val = vtFld.iVal; break; case VT_I2: case VT_I4: val = vtFld.lVal; break; case VT_INT: val = vtFld.intVal; break; case VT_CY: //Added by John Andy Johnson!!!! vtFld.ChangeType(VT_R8); val = vtFld.dblVal; break; case VT_NULL: case VT_EMPTY: val = 0; break; default: val = vtFld.dblVal; } dbValue = val; return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
HRESULT CLryEDBQryDoc::MoveLast() { HRESULT hr= S_OK; try { hr = Rs->MoveLast(); //MoveLast 不设置adoEOF标志? } catch(_com_error &e) { dump_com_error(e); } return hr; }
BOOL CADORecordset::GetFieldValue(LPCTSTR lpFieldName, _variant_t& vtValue) { try { vtValue = m_pRecordset->Fields->GetItem(lpFieldName)->Value; return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADORecordset::Clone(CADORecordset &pRs) { try { pRs.m_pRecordset = m_pRecordset->Clone(adLockUnspecified); return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } }
BOOL CADOParameter::GetValue(_variant_t& vtValue) { try { vtValue = m_pParameter->Value; return TRUE; } catch(_com_error& e) { dump_com_error(e); return FALSE; } }
void CPointArrayView::OnSelChangeList() { try { // Update the edit control to reflect the new selection // in the listbox. CPoint pt = GetDocument()->m_ptArray->Array[m_ctlList.GetCurSel()]; m_x = pt.x; m_y = pt.y; UpdateData(FALSE); } catch(_com_error& e) { dump_com_error(e); } }
HRESULT CLryEDBQryDoc::MoveNext() { HRESULT hr = S_OK ; try { if((!Rs->adoEOF)) hr = Rs->MoveNext(); } catch(_com_error &e) { dump_com_error(e); } return hr; }
BOOL CADORecordset::Open(_ConnectionPtr mpdb, LPCTSTR lpstrExec, int nOption) { Close(); if(_tcscmp(lpstrExec, _T("")) != 0) m_strQuery = lpstrExec; ASSERT(!m_strQuery.empty()); if(m_pConnection == NULL) m_pConnection = mpdb; LTrim(m_strQuery); BOOL bIsSelect = m_strQuery.substr(0,_tcslen(_T("select "))).compare(_T("select ")) == 0 && nOption == openUnknown; try { m_pRecordset->CursorType = adOpenStatic; m_pRecordset->CursorLocation = adUseClient; if(bIsSelect || nOption == openQuery || nOption == openUnknown) { m_pRecordset->Open(m_strQuery.c_str(), _variant_t((IDispatch*)mpdb, TRUE), adOpenStatic, adLockOptimistic, adCmdUnknown); } else if(nOption == openTable) { m_pRecordset->Open(m_strQuery.c_str(), _variant_t((IDispatch*)mpdb, TRUE), adOpenKeyset, adLockOptimistic, adCmdTable); } else if(nOption == openStoredProc) { m_pCmd->ActiveConnection = mpdb; m_pCmd->CommandText = _bstr_t(m_strQuery.c_str()); m_pCmd->CommandType = adCmdStoredProc; m_pConnection->CursorLocation = adUseClient; m_pRecordset = m_pCmd->Execute(NULL, NULL, adCmdText); } else { TRACE( _T("Unknown parameter. %d"), nOption); return FALSE; } } catch(_com_error &e) { dump_com_error(e); return FALSE; } return m_pRecordset != NULL && m_pRecordset->GetState()!= adStateClosed; }