INT CADOParameters::Add(INT iValue) { return Add(_variant_t((long)iValue)); }
void CMyExcel::SetNumberFormat(MyNumberFormat XNumberFormat) { CString strText=XNumberFormat.strValue; MyRange.SetNumberFormat(_variant_t(strText)); }
long SmtAnnoFclsAdoLayer::AppendFeature(const SmtFeature *pSmtFeature,bool bclone) { long lRet = SMT_ERR_NONE; ////////////////////////////////////////////////////////////////////////// //db if (!IsOpen()) if (!Open(m_szLayerTableName)) return SMT_ERR_DB_OPER; int nGridID = 0; char szAnnoBuf[TEMP_BUFFER_SIZE]; int nClr = 0; double fAngle = 0.; Envelope env; const SmtGeometry *pGeom = pSmtFeature->GetGeometryRef(); const SmtAttribute *pAtt = pSmtFeature->GetAttributeRef(); const SmtStyle *pStyle = pSmtFeature->GetStyle(); pGeom->GetEnvelope(&env); m_SmtRecordset.AddNew(); m_SmtRecordset.PutCollect("ID",_variant_t(pSmtFeature->GetID())); m_SmtRecordset.PutCollect("mbr_xmin",_variant_t(env.MinX)); m_SmtRecordset.PutCollect("mbr_ymin",_variant_t(env.MinY)); m_SmtRecordset.PutCollect("mbr_xmax",_variant_t(env.MaxX)); m_SmtRecordset.PutCollect("mbr_ymax",_variant_t(env.MaxY)); m_SmtRecordset.PutCollect("grid_id",_variant_t(nGridID)); ////////////////////////////////////////////////////////////////////////// lRet = AppendStyle(pStyle); ////////////////////////////////////////////////////////////////////////// lRet = AppendGeom(pGeom); ////////////////////////////////////////////////////////////////////////// const SmtField *pFld = NULL; pFld = pAtt->GetFieldPtr(pAtt->GetFieldIndex("anno")); sprintf(szAnnoBuf,pFld->GetValueAsString()); m_SmtRecordset.PutCollect("anno",_variant_t(szAnnoBuf)); pFld = pAtt->GetFieldPtr(pAtt->GetFieldIndex("color")); nClr = pFld->GetValueAsInteger(); m_SmtRecordset.PutCollect("color",_variant_t(nClr)); pFld = pAtt->GetFieldPtr(pAtt->GetFieldIndex("angle")); fAngle = pFld->GetValueAsDouble(); m_SmtRecordset.PutCollect("angle",_variant_t(fAngle)); if (!m_SmtRecordset.Update()) { SMT_SAFE_DELETE(pSmtFeature); return SMT_ERR_DB_OPER; } //mem m_pMemLayer->AppendFeature(pSmtFeature,bclone); CalEnvelope(); return lRet; }
//上传存储过程 LONG CDataBaseSink::SPUploadFace(DWORD dwUserID, BYTE *bFaceData, DWORD dwFaceDataSize) { //效验参数 ASSERT(dwUserID!=0L); ASSERT(dwFaceDataSize!=0L); ASSERT(bFaceData!=NULL); //效验参数 ASSERT(dwUserID!=0L); ASSERT(dwFaceDataSize!=0L); ASSERT(bFaceData!=NULL); //执行存储过程 m_AccountsDBAide.ResetParameter(); m_AccountsDBAide.AddParameter(TEXT("@dwUserID"),dwUserID); VARIANT varChunk; SAFEARRAY *psa=NULL; SAFEARRAYBOUND rgsabound[1]; rgsabound[0].cElements = dwFaceDataSize; rgsabound[0].lLbound = 0; psa = SafeArrayCreate(VT_UI1,1,rgsabound); for (long index =0; index < long(dwFaceDataSize); index++ ) { SafeArrayPutElement(psa,&index,&bFaceData[index]); } varChunk.vt = VT_ARRAY|VT_UI1; varChunk.parray = psa; IDataBase * pIDataBase=m_AccountsDBModule.GetInterface(); pIDataBase->AddParameter(TEXT("@imgCustomFaceImage"),adLongVarBinary,adParamInput,dwFaceDataSize,_variant_t(varChunk)); LONG lReturnValue=m_AccountsDBAide.ExecuteProcess(TEXT("GSP_CF_InsertCustomFace"),false); //释放资源 SafeArrayDestroy(psa); return lReturnValue; }
// --------------------------------------------------------------------------- bool MFileXMLProcessor::Process(const bool &bvalidation, const stringT &ImportedPrefix, const stringT &strXMLFileName, const stringT &strXSDFileName, const bool &bImportPSWDsOnly) { HRESULT hr, hr0, hr60; bool b_ok = false; bool b_into_empty; stringT cs_validation; LoadAString(cs_validation, IDSC_XMLVALIDATION); stringT cs_import; LoadAString(cs_import, IDSC_XMLIMPORT); m_strXMLErrors = _T(""); m_bValidation = bvalidation; // Validate or Import // Create SAXReader object ISAXXMLReader *pSAX2Reader = NULL; // Get ready for XSD schema validation IXMLDOMSchemaCollection2 *pSchemaCache = NULL; if (m_bValidation) { //XMLValidate hr60 = CoCreateInstance(__uuidof(SAXXMLReader60), NULL, CLSCTX_ALL, __uuidof(ISAXXMLReader), (void **)&pSAX2Reader); if (FAILED(hr60)) { LoadAString(m_strXMLErrors, IDSC_NOMSXMLREADER); goto exit; } } else { // XMLImport b_into_empty = m_pXMLcore->GetNumEntries() == 0; hr0 = CoCreateInstance(__uuidof(SAXXMLReader60), NULL, CLSCTX_ALL, __uuidof(ISAXXMLReader), (void **)&pSAX2Reader); } // Create ContentHandlerImpl object MFileSAX2ContentHandler *pCH = new MFileSAX2ContentHandler(); pCH->SetVariables(m_bValidation ? NULL : m_pXMLcore, m_bValidation, ImportedPrefix, m_delimiter, bImportPSWDsOnly, m_bValidation ? NULL : m_pPossible_Aliases, m_bValidation ? NULL : m_pPossible_Shortcuts, m_pmulticmds, m_prpt); // Create ErrorHandlerImpl object MFileSAX2ErrorHandler *pEH = new MFileSAX2ErrorHandler(); // Set Content Handler hr = pSAX2Reader->putContentHandler(pCH); // Set Error Handler hr = pSAX2Reader->putErrorHandler(pEH); hr = CoCreateInstance(__uuidof(XMLSchemaCache60), NULL, CLSCTX_ALL, __uuidof(IXMLDOMSchemaCollection2), (void **)&pSchemaCache); if (!FAILED(hr)) { // Create SchemaCache // Initialize the SchemaCache object with the XSD filename CComVariant cvXSDFileName = strXSDFileName.c_str(); hr = pSchemaCache->add(L"", cvXSDFileName); // Set the SAXReader/Schema Cache features and properties { /* Documentation is unclear as to what is in which release. Try them all - if they don't get set, the world will not end! Common Error codes: S_OK Operation successful 0x00000000 E_NOTIMPL Not implemented 0x80004001 E_NOINTERFACE No such interface supported 0x80004002 E_ABORT Operation aborted 0x80004004 E_FAIL Unspecified failure 0x80004005 E_INVALIDARG Invalid argument 0x80070057 Normally not supported on a back level MSXMLn.DLL */ // Want all validation errors hr = pSAX2Reader->putFeature(L"exhaustive-errors", VARIANT_TRUE); // Don't allow user to override validation by using DTDs hr = pSAX2Reader->putFeature(L"prohibit-dtd", VARIANT_TRUE); // Don't allow user to override validation by using DTDs (2 features) hr = pSAX2Reader->putFeature(L"http://xml.org/sax/features/external-general-entities", VARIANT_FALSE); hr = pSAX2Reader->putFeature(L"http://xml.org/sax/features/external-parameter-entities", VARIANT_FALSE); // Want to validate XML file hr = pSAX2Reader->putFeature(L"schema-validation", VARIANT_TRUE); // Ignore any schema specified in the XML file hr = pSAX2Reader->putFeature(L"use-schema-location", VARIANT_FALSE); // Ignore any schema in the XML file hr = pSAX2Reader->putFeature(L"use-inline-schema", VARIANT_FALSE); // Only use the XSD in PWSafe's installation directory! hr = pSAX2Reader->putProperty(L"schemas", _variant_t(pSchemaCache)); } // Let's begin the parsing now wchar_t wcURL[MAX_PATH] = {0}; _tcscpy_s(wcURL, MAX_PATH, strXMLFileName.c_str()); hr = pSAX2Reader->parseURL(wcURL); if (!FAILED(hr)) { // Check for parsing errors if (pEH->bErrorsFound == TRUE) { m_strXMLErrors = pEH->m_strValidationResult; } else { if (m_bValidation) { m_numEntriesValidated = pCH->m_numEntries; m_delimiter = pCH->m_delimiter; } else { // Now add entries pCH->AddXMLEntries(); // Get numbers (may have been modified by AddXMLEntries m_numEntriesImported = pCH->m_numEntries; m_numEntriesSkipped = pCH->getNumSkipped(); m_numEntriesRenamed = pCH->getNumRenamed(); m_numEntriesPWHErrors = pCH->getNumPWHErrors(); m_numNoPolicies = pCH->getNumNoPolicies(); m_numRenamedPolicies = pCH->getNumRenamedPolicies(); m_numShortcutsRemoved = pCH->getNumShortcutsRemoved(); // Get lists m_strXMLErrors = pCH->getXMLErrors(); m_strSkippedList = pCH->getSkippedList(); m_strPWHErrorList = pCH->getPWHErrorList(); m_strRenameList = pCH->getRenameList(); if (b_into_empty) { pCH->AddDBPreferences(); } } b_ok = true; } } else { if (pEH->bErrorsFound == TRUE) { m_strXMLErrors = pEH->m_strValidationResult; } else { Format(m_strXMLErrors, IDSC_MSXMLPARSEERROR, hr, m_bValidation ? cs_validation.c_str() : cs_import.c_str()); } } // End Check for parsing errors } else { Format(m_strXMLErrors, IDSC_MSXMLBADCREATESCHEMA, hr, m_bValidation ? cs_validation.c_str() : cs_import.c_str()); } // End Create Schema Cache exit: if (pSchemaCache != NULL) pSchemaCache->Release(); if (pSAX2Reader != NULL) pSAX2Reader->Release(); return b_ok; }
void CBatchSNDlg::OnBnClickedCalibrationPointReport() { CString Product_Head_File_Name; CString strFilter; CString strFilename; CString strTemp; CString RegisterName; CString RegisterID; CString logstr; _variant_t temp_variant; _Application app; Workbooks books; _Workbook book; Worksheets sheets; _Worksheet sheet; Range range; Range rgMyRge1, rgMyRge2; COleVariant covTrue((short)TRUE), covFalse((short)FALSE), covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); int CurrentRow; if (!app.CreateDispatch(_T("Excel.Application"),NULL)) { AfxMessageBox(_T("Create Excel false!")); return; } //遍历所有行 strFilename=g_strExePth+_T("Calibration Sensor Report.xls"); books.AttachDispatch(app.GetWorkbooks()); book.AttachDispatch(books.Add(_variant_t(strFilename))); sheets.AttachDispatch(book.GetWorksheets()); sheet.AttachDispatch(sheets.GetItem(_variant_t("Sheet1"))); range.AttachDispatch(sheet.GetCells()); CString ContentData; CTime time = CTime::GetCurrentTime(); ContentData.Format(_T("Calibration Date")); range.SetItem(_variant_t((long)(1)),_variant_t((long)(1)),_variant_t(ContentData)); ContentData.Format(_T("%d-%d-%d"),time.GetYear(),time.GetMonth(),time.GetDay()); range.SetItem(_variant_t((long)(1)),_variant_t((long)(3)),_variant_t(ContentData)); range.AttachDispatch(sheet.GetCells()); for (int i=0;i<(int)m_modbus_IDs.size();i++) { if (!m_modbus_IDs.at(i).Result) { continue; } CurrentRow = 3 + 7*i; unsigned short databuffer[30]; Read_Multi(m_modbus_IDs.at(i).ModbusID,&databuffer[0],2000,30); ContentData = _T("Serial Number"); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(1)),_variant_t(ContentData)); ContentData.Format(_T("%d"),databuffer[2027 - 2000]); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(2)),_variant_t(ContentData)); ContentData = _T("Points"); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(3)),_variant_t(ContentData)); ContentData.Format(_T("%d"),databuffer[2003 - 2000]); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(4)),_variant_t(ContentData)); ++CurrentRow; ContentData = _T("Temperature"); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(1)),_variant_t(ContentData)); ContentData.Format(_T("%0.1f"),((float)((short)databuffer[2000 - 2000]))/10); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(2)),_variant_t(ContentData)); ContentData = _T("Humidity"); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(3)),_variant_t(ContentData)); ContentData.Format(_T("%0.1f"),((float)((short)databuffer[2001 - 2000]))/10); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(4)),_variant_t(ContentData)); ++CurrentRow; ContentData = _T("RH"); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(1)),_variant_t(ContentData)); for (int j = 0;j<10;j++) { ContentData.Format(_T("%0.1f"),((float)((short)databuffer[2004 - 2000 + 2*j]))/10); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(2+j)),_variant_t(ContentData)); } ++CurrentRow; ContentData = _T("Frequency"); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(1)),_variant_t(ContentData)); for (int j = 0;j<10;j++) { ContentData.Format(_T("%d"),databuffer[2005 - 2000 + 2*j]); range.SetItem(_variant_t((long)(CurrentRow)),_variant_t((long)(2+j)),_variant_t(ContentData)); } } AfxMessageBox(_T("Export Completely")); app.SetVisible(true); range.ReleaseDispatch(); sheet.ReleaseDispatch(); sheets.ReleaseDispatch(); book.ReleaseDispatch(); books.ReleaseDispatch(); app.ReleaseDispatch(); }
UINT CRelateConsumeList::QueryConsume(LPVOID ps) { CRelateConsumeList * pd=(CRelateConsumeList * )((CProgressIndicate *)ps)->pDialog; pd->m_grid.SetRedraw(false); pd->SetGridHead(); CString strSql,str1,str2,str3; long cols,row,i,col; double add[]={0,0,0,0,0,0,0,0,0}; const int START_COMPUTE=5; //在SQL语句中 pd->UpdateData(); CComboBox *pc=(CComboBox*)pd->GetDlgItem(IDC_COMBO1); try{ strSql.Format("SELECT * FROM V_RELATE_CONSUME "); pd->c_edit1.GetWindowText(str1); //卡号 if( !str1.IsEmpty() ) strSql+=" WHERE bm like '"+str1+"%'"; pd->c_edit3.GetWindowText(str2); //姓名 if ( !str2.IsEmpty() ){ if( str1.IsEmpty() ) strSql+=" WHERE xm like '"+str2+"%'"; else strSql+=" AND xm like '"+str2+"%'"; } if(pc->GetCurSel() != 0 && pc->GetCurSel() != CB_ERR ) { pc->GetLBText(pc->GetCurSel(),str3); if( str1.IsEmpty() && str2.IsEmpty() )strSql+=" WHERE xingzhi='"+str3+"'"; else strSql+=" AND xingzhi='"+str3+"'"; } recSet->Open(_bstr_t(strSql),(IDispatch*)HospitalConnect,adOpenDynamic,adLockOptimistic,adCmdText); row=1; cols=recSet->GetFields()->Count; double dX; while(!recSet->adoEOF){ col=0; str1.Format("%ld",row); pd->m_grid.SetTextMatrix(row,col++,str1); pd->m_grid.SetRow(row); pd->m_grid.SetCol(6); pd->m_grid.SetCellBackColor(BK1); /* pd->m_grid.SetCol(9); pd->m_grid.SetCellBackColor(BK2); */ for(i=0;i<cols;i++) { str1=(char*)_bstr_t(recSet->GetFields()->GetItem(_variant_t(i))->Value.vt==VT_NULL?" ":recSet->GetFields()->GetItem(_variant_t(i))->Value); pd->m_grid.SetTextMatrix(row,col++,str1); if( i>=START_COMPUTE )add[i-START_COMPUTE]+=atof(str1); } row++; pd->m_grid.AddItem(" ",_variant_t(row)); recSet->MoveNext(); } recSet->Close(); pd->m_grid.SetMergeCells(true); pd->m_grid.SetMergeRow(row,1); pd->m_grid.SetRow(row); pd->m_grid.SetCellBackColor(RGB(255,0,0)); strSql.Format(" 共有 %ld 条记录 ",row-1); pd->m_grid.SetTextMatrix(row,0,"合计"); pd->GetDlgItem(IDC_STATIC_NOTIFY)->SetWindowText(strSql); for(int count=1;count<cols+1;count++){ pd->m_grid.SetTextMatrix(row,count,strSql); pd->m_grid.SetCol(count); pd->m_grid.SetCellBackColor(RGB(255,128,0)); } for(i=START_COMPUTE;i<cols;i++){ strSql.Format("%.2f",add[i-START_COMPUTE]); pd->m_grid.SetTextMatrix(row,i+1,strSql); } pd->m_grid.SetRedraw(true); } catch(_com_error e) { AfxMessageBox(strSql); recSet->Close(); ((CProgressIndicate *)ps)->ConnectFlag =1; ((CProgressIndicate *)ps)->SendMessage(WM_CLOSE,NULL,NULL); return false; } pd->m_grid.SetRedraw(true); ((CProgressIndicate *)ps)->ConnectFlag =1; ((CProgressIndicate *)ps)->SendMessage(WM_CLOSE,NULL,NULL); }
INT CADOParameters::Add(const COleDateTime &datetime) { return Add(_variant_t((DATE)datetime, VT_DATE)); }
INT CADOParameters::Add(const CURRENCY &curValue) { return Add(_variant_t(curValue)); }
INT CADOParameters::Add(FLOAT fValue) { return Add(_variant_t(fValue)); }
INT CADOParameters::Add(DOUBLE dbValue) { return Add(_variant_t(dbValue)); }
INT CADOParameters::Add(LPCWSTR bstrValue) { return Add(_variant_t(bstrValue)); }
INT CADOParameters::Add(LPCSTR strValue) { return Add(_variant_t(strValue)); }
INT CADOParameters::Add(bool bValue) { return Add(_variant_t(bValue)); }
bool ADOConn::SaveFileSQL(char *tablename,char *itemname,CFile *pFile) { // CFile file; // if (0==file.Open(filepath,CFile::modeRead)) // { // return false; // } pFile->SeekToBegin(); byte* pbuf; long nLength = pFile->GetLength(); pbuf = new byte[nLength]; if(pbuf == NULL) { return false; }//allocate memory error; pFile->Read(pbuf,nLength); //read the file into memory byte *pBufEx = pbuf; SAFEARRAY* psa; SAFEARRAYBOUND rgsabound[1]; rgsabound[0].lLbound = 0; rgsabound[0].cElements = nLength; psa = SafeArrayCreate(VT_UI1, 1, rgsabound); for (long i = 0; i < nLength; i++) { SafeArrayPutElement (psa, &i, pBufEx++); } VARIANT varBLOB; varBLOB.vt = VT_ARRAY | VT_UI1; varBLOB.parray = psa; _RecordsetPtr pRs = NULL; _ConnectionPtr pConnection = NULL; HRESULT hr; try { //Open a connection pConnection.CreateInstance(__uuidof(Connection)); hr = pConnection->Open((_bstr_t)m_strConn,"sa","123",adModeUnknown); //Connect a DataBase pRs.CreateInstance(__uuidof(Recordset)); // pRs->Open(tablename,_variant_t((IDispatch *) pConnection,true),adOpenKeyset,adLockOptimistic,adCmdTable); //Open a Table pRs->Open("select *from test where name='content'",_variant_t((IDispatch *) pConnection,true),adOpenKeyset,adLockOptimistic,adCmdText); pRs->AddNew(); pRs->GetFields()->GetItem("name")->AppendChunk((_bstr_t)itemname); pRs->GetFields()->GetItem("content")->AppendChunk(varBLOB); // pRs->PutCollect("name",_variant_t(itemname)); // pRs->PutCollect("content",varBLOB); // pRs->Fields->GetItem(itemname)->AppendChunk(varBLOB); pRs->Update(); pRs->Close(); pConnection->Close(); } catch(_com_error &e) { // Notify the user of errors if any. _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); CString sError; sError.Format("Source : %s \n Description : %s\n",(LPCSTR)bstrSource,(LPCSTR)bstrDescription); AfxMessageBox(sError); return false; } return true; }
void AddNewX() { // Define ADO object pointers. Initialize pointers on define. _RecordsetPtr pRstEmployees = NULL; _ConnectionPtr pConnection = NULL; // Define Other variables IADORecordBinding *picRs = NULL; // Interface Pointer declared.(VC++ Extensions) CEmployeeRs emprs; // C++ class object HRESULT hr = S_OK; // Replace Data Source value with your server name. _bstr_t strCnn("Provider='sqloledb'; Data Source='My_Data_Source'; Initial Catalog='pubs'; Integrated Security='SSPI';"); _bstr_t strId; _bstr_t strMessage; try { // Open a connection TESTHR(pConnection.CreateInstance(__uuidof(Connection))); pConnection->Open(strCnn, "", "", adConnectUnspecified); // Open employee table TESTHR(pRstEmployees.CreateInstance(__uuidof(Recordset))); // You have to explicitly pass the Cursor type and LockType to the Recordset here pRstEmployees->Open("employee", _variant_t((IDispatch *)pConnection, true), adOpenKeyset, adLockOptimistic, adCmdTable); // Open IADORecordBinding interface pointer for Binding Recordset to a class TESTHR(pRstEmployees->QueryInterface(__uuidof(IADORecordBinding), (LPVOID*)&picRs)); // Bind the Recordset to a C++ Class here TESTHR(picRs->BindToRecordset(&emprs)); // Get data from the user.The employee id must be formatted as first,middle and last // initial, five numbers,then M or F to signify the gender. For example, the // employee id for Bill A. Sorensen would be "BAS55555M". printf("Enter Employee Id: "); myscanf(emprs.m_sz_empid, sizeof(emprs.m_sz_empid)); strId = emprs.m_sz_empid; printf("Enter First Name: "); myscanf(emprs.m_sz_fname, sizeof(emprs.m_sz_fname)); printf("Enter Last Name:"); myscanf(emprs.m_sz_lname, sizeof(emprs.m_sz_lname)); // Proceed if user entered id, the first and the last name. if (strcmp(emprs.m_sz_empid, "") && strcmp(emprs.m_sz_fname, "") && strcmp(emprs.m_sz_lname, "")) { // This adds a new record to the table // if (FAILED(hr = picRs->AddNew(&emprs))) //_com_issue_error(hr); TESTHR(picRs->AddNew(&emprs)); // Show the newly added data printf("New Record: %s %s %s \n", \ emprs.lemp_empidStatus == adFldOK ? emprs.m_sz_empid : "<NULL>", \ emprs.lemp_fnameStatus == adFldOK ? emprs.m_sz_fname : "<NULL>", \ emprs.lemp_lnameStatus == adFldOK ? emprs.m_sz_lname : "<NULL>"); } else printf("Please enter an employee id, first name and last name.\n"); // Delete the new record because this is a demonstration. pConnection->Execute("DELETE FROM EMPLOYEE WHERE emp_id = '" + strId + "'", NULL, adCmdText); } catch (_com_error &e) { // Notify the user of errors if any. _variant_t vtConnect = pRstEmployees->GetActiveConnection(); // GetActiveConnection returns connect string if connection // is not open, else returns Connection object. switch (vtConnect.vt) { case VT_BSTR: printf("Error:\n"); printf("Code = %08lx\n", e.Error()); printf("Message = %s\n", e.ErrorMessage()); printf("Source = %s\n", (LPCSTR)e.Source()); printf("Description = %s\n", (LPCSTR)e.Description()); break; case VT_DISPATCH: PrintProviderError(vtConnect); break; default: printf("Errors occured."); break; } } // Clean up objects before exit. Release the IADORecordset Interface here if (picRs) picRs->Release(); if (pRstEmployees) if (pRstEmployees->State == adStateOpen) pRstEmployees->Close(); if (pConnection) if (pConnection->State == adStateOpen) pConnection->Close(); }
void ApplyGraphicLabelsDlg::ReloadAddBuildingDB() { m_FlexGrid.Clear(); //m_FlexGrid.put_ColAlignment(0,4); m_FlexGrid.put_TextMatrix(0,1,_T("Serial ID")); m_FlexGrid.put_ColWidth(1,1000); m_FlexGrid.put_TextMatrix(0,2,_T("Product ID")); m_FlexGrid.put_ColWidth(2,1000); m_FlexGrid.put_TextMatrix(0,3,_T("Floor")); m_FlexGrid.put_ColWidth(3,1300); m_FlexGrid.put_TextMatrix(0,4,_T("Room")); m_FlexGrid.put_ColWidth(4,1300); m_FlexGrid.put_TextMatrix(0,5,_T("Product Name")); m_FlexGrid.put_ColWidth(5,1400); CString strSql; strSql.Format(_T("select * from ALL_NODE where MainBuilding_Name = '%s'and Building_Name='%s'"),m_strMainBuilding,m_strSubNetName); m_pRs->Open((_variant_t)strSql,_variant_t((IDispatch *)m_pCon,true),adOpenStatic,adLockOptimistic,adCmdText); m_nTotalRecoders=m_pRs->RecordCount; m_FlexGrid.put_Rows(m_pRs->RecordCount+1); int temp_row=0; CString str_temp; str_temp.Empty(); _variant_t temp_variant; while(VARIANT_FALSE==m_pRs->EndOfFile) { temp_variant=m_pRs->GetCollect("Product_class_ID");// if(temp_variant.vt!=VT_NULL) m_strID=temp_variant; else m_strID=_T(""); if(_wtoi(m_strID)==100)// not include NC { m_pRs->MoveNext(); continue; } ++temp_row; m_FlexGrid.put_TextMatrix(temp_row,0,_T("Select")); temp_variant=m_pRs->GetCollect("Serial_ID");// if(temp_variant.vt!=VT_NULL) m_strID=temp_variant; else m_strID=_T(""); m_FlexGrid.put_ColAlignment(1,4); m_FlexGrid.put_TextMatrix(temp_row,1,m_strID); temp_variant=m_pRs->GetCollect("Product_ID");// if(temp_variant.vt!=VT_NULL) m_strID=temp_variant; else m_strID=_T(""); m_FlexGrid.put_ColAlignment(2,4); m_FlexGrid.put_TextMatrix(temp_row,2,m_strID); temp_variant=m_pRs->GetCollect("Floor_name");// if(temp_variant.vt!=VT_NULL) m_strID=temp_variant; else m_strID=_T(""); m_FlexGrid.put_ColAlignment(3,4); m_FlexGrid.put_TextMatrix(temp_row,3,m_strID); temp_variant=m_pRs->GetCollect("Room_name");// if(temp_variant.vt!=VT_NULL) m_strID=temp_variant; else m_strID=_T(""); m_FlexGrid.put_ColAlignment(4,4); m_FlexGrid.put_TextMatrix(temp_row,4,m_strID); temp_variant=m_pRs->GetCollect("Product_name");// if(temp_variant.vt!=VT_NULL) m_strID=temp_variant; else m_strID=_T(""); m_FlexGrid.put_ColAlignment(5,4); m_FlexGrid.put_TextMatrix(temp_row,5,m_strID); m_pRs->MoveNext(); } m_pRs->Close(); }
std::string OHTTPPost(const std::string &url, const std::vector<std::pair<std::string, std::string>> &postArgs, std::function<void(long, std::string)> onError) { HRESULT hr; CComPtr<IXMLHTTPRequest> request; hr = request.CoCreateInstance(CLSID_XMLHTTP60); if (postArgs.empty()) { hr = request->open(_bstr_t("GET"), _bstr_t(url.c_str()), _variant_t(VARIANT_FALSE), _variant_t(), _variant_t()); hr = request->send(_variant_t()); } else { hr = request->open(_bstr_t("POST"), _bstr_t(url.c_str()), _variant_t(VARIANT_FALSE), _variant_t(), _variant_t()); std::string args; bool first = true; for (auto &kv : postArgs) { if (first) { first = false; args += kv.first + "=" + kv.second; } else { args += "&" + kv.first + "=" + kv.second; } } request->setRequestHeader(_bstr_t("Content-type"), _bstr_t("application/x-www-form-urlencoded")); request->setRequestHeader(_bstr_t("Content-length"), _bstr_t(std::to_string(args.size()).c_str())); hr = request->send(_variant_t(args.c_str())); } if (hr != S_OK) { if (onError) { onError(0, "error"); } return ""; } // get status - 200 if succuss long status; hr = request->get_status(&status); if (hr != S_OK) { if (onError) { onError(0, "error"); } return ""; } // Load the text BSTR bstrResponse = NULL; request->get_responseText(&bstrResponse); std::wstring wret = bstrResponse; if (bstrResponse) SysFreeString(bstrResponse); std::string ret = onut::utf16ToUtf8(wret); if (status == 200) { return ret; } else { if (onError) { onError(status, ret); } return ""; } }
void CASXMLSchemaModel::IncludeSchema(Element* mergeDocumentElement) { // CComPtr<ILDOMDocument> ownerDocument; // mergeDocumentElement->get_ownerDocument(&ownerDocument); Node* child = mergeDocumentElement->get_firstChild(); while (child != NULL) { Node* nextSibling = child->get_nextSibling(); Element* element = dynamic_cast<Element*>(child); if (element) { String tagName = element->get_tagName(); if (tagName == L"include") { ASSERT(0); #if 0 CComObject<CASXMLInclude>* pEl; CComObject<CASXMLInclude>::CreateInstance(&pEl); if (pEl) { pEl->AddRef(); pEl->m_pSchema = this; pEl->m_element = element; CComObject<CASXMLSchemaModel>::CreateInstance(&pEl->m_asModel); if (pEl->m_asModel) { pEl->m_asModel->AddRef(); m_globalElements->m_items.Add(pEl); CComBSTR schemaLocation; element->getAttribute(L"schemaLocation", &schemaLocation); TCHAR absSchemaLocation[2048]; { CComBSTR documentUrl; ownerDocument->get_url(&documentUrl); _bstr_t baseUrl = documentUrl; DWORD resultLen = sizeof(absSchemaLocation); InternetCombineUrl(baseUrl, _bstr_t(schemaLocation), absSchemaLocation, &resultLen, 0); } bool bloadedSchema; pEl->m_asModel->m_xmlDocument.CoCreateInstance(CLSID_LDOMDocument); pEl->m_asModel->m_xmlDocument->load(_variant_t(absSchemaLocation), &bloadedSchema); if (bloadedSchema) { CComPtr<ILDOMElement> mergeDocumentElement; pEl->m_asModel->m_xmlDocument->get_documentElement(&mergeDocumentElement); if (mergeDocumentElement) { m_asModels->m_items.Add(pEl->m_asModel); // AddDocument(schemadoc); IncludeSchema(mergeDocumentElement); // Recurse } else { MessageBox(NULL, "Failed to include schema", "", MB_OK); } } else { MessageBox(NULL, "Failed to include schema", "", MB_OK); } } } #endif } else { CDefinition/*CDefinition*/ * pDef = CreateDefinition(element); if (pDef) { pDef->BuildDefs(element); m_globalDefs.m_defs.Add(pDef); m_globalElements->m_items.Add(dynamic_cast<IASDeclaration*>(pDef)); } //m_schemaElement->appendChild(element, NULL); } } child = nextSibling; } }
void IllusionExcelFile::SetCellWidth(int width){ excel_current_range_.put_ColumnWidth(_variant_t((long)width)); }
WordDoc::WordDoc(Word::_ApplicationPtr pApp, const CStdString& sDoc) { m_pDoc = pApp->Documents->Open(&_variant_t(sDoc.c_str())); pApp->Visible = VARIANT_TRUE; }
extern "C" __declspec(dllexport) bool PinToStartMenu4XP(bool bPin, char* szPath) { //TSAUTO(); TCHAR file_dir[MAX_PATH + 1] = {0}; TCHAR *file_name; wchar_t* pwstr_Path = AnsiToUnicode(szPath); if(pwstr_Path == NULL){ return false; } wcscpy_s(file_dir,MAX_PATH,pwstr_Path); PathRemoveFileSpecW(file_dir); file_name = PathFindFileName(pwstr_Path); ::CoInitialize(NULL); CComPtr<IShellDispatch> pShellDisp; CComPtr<Folder> folder_ptr; CComPtr<FolderItem> folder_item_ptr; CComPtr<FolderItemVerbs> folder_item_verbs_ptr; HRESULT rv = CoCreateInstance( CLSID_Shell, NULL, CLSCTX_SERVER,IID_IDispatch, (LPVOID *) &pShellDisp ); do { IF_FAILED_OR_NULL_BREAK(rv,pShellDisp); rv = pShellDisp->NameSpace(_variant_t(file_dir),&folder_ptr); IF_FAILED_OR_NULL_BREAK(rv,folder_ptr); rv = folder_ptr->ParseName(CComBSTR(file_name),&folder_item_ptr); IF_FAILED_OR_NULL_BREAK(rv,folder_item_ptr); rv = folder_item_ptr->Verbs(&folder_item_verbs_ptr); IF_FAILED_OR_NULL_BREAK(rv,folder_item_verbs_ptr); long count = 0; folder_item_verbs_ptr->get_Count(&count); for (long i = 0; i < count ; ++i) { FolderItemVerb* item_verb = NULL; rv = folder_item_verbs_ptr->Item(_variant_t(i),&item_verb); if (SUCCEEDED(rv) && item_verb) { CComBSTR bstrName; item_verb->get_Name(&bstrName); if ( VerbNameMatch(bstrName,bPin) ) { TSDEBUG4CXX("Find Verb to Pin:"<< bstrName); int i = 0; do { rv = item_verb->DoIt(); TSDEBUG4CXX("Try Do Verb. NO." << i+1 << ", return="<<rv); if (SUCCEEDED(rv)) { ::SHChangeNotify(SHCNE_UPDATEDIR|SHCNE_INTERRUPT|SHCNE_ASSOCCHANGED, SHCNF_IDLIST |SHCNF_FLUSH | SHCNF_PATH|SHCNE_ASSOCCHANGED, pwstr_Path,0); Sleep(500); delete [] pwstr_Path; ::CoUninitialize(); return true; }else { Sleep(500); rv = item_verb->DoIt(); } }while ( i++ < 3); break; } } } } while (0); delete [] pwstr_Path; ::CoUninitialize(); return false; }
void write(std::string filename) { clock_t t1 = clock(); std::cout << "writing " << filename; DeleteFileA(filename.c_str()); if(FAILED(::CoInitialize(NULL))) return; _ConnectionPtr pCon = NULL; _CommandPtr pCmd = NULL; _RecordsetPtr pRec = NULL; try { _bstr_t connStr(makeConnStr(filename).c_str()); TESTHR(pCon.CreateInstance(__uuidof(Connection))); TESTHR(pCon->Open(connStr, "", "", NULL)); TESTHR(pCmd.CreateInstance(__uuidof(Command))); pCmd->ActiveConnection = pCon; pCmd->CommandText = "CREATE TABLE MySheet(A int, B varchar, C int, D int, E int, F int, G int, H int, I int, J varchar)"; pCmd->Execute(NULL, NULL, adCmdText); TESTHR(pRec.CreateInstance(__uuidof(Recordset))); pRec->Open("SELECT * FROM MySheet", _variant_t((IDispatch*)pCon), adOpenKeyset, adLockOptimistic, adCmdText); for(int i = 0; i < writeRows; ++i) { TESTHR(pRec->AddNew()); char str[11] = {0}; for(int j = 0; j < 10; ++j) str[j] = 'a' + (rand() % 26); pRec->Fields->GetItem("A")->Value = _variant_t(i); pRec->Fields->GetItem("B")->Value = _variant_t(str); pRec->Fields->GetItem("C")->Value = _variant_t(i); pRec->Fields->GetItem("D")->Value = _variant_t(i); pRec->Fields->GetItem("E")->Value = _variant_t(i); pRec->Fields->GetItem("F")->Value = _variant_t(i); pRec->Fields->GetItem("G")->Value = _variant_t(i); pRec->Fields->GetItem("H")->Value = _variant_t(i); pRec->Fields->GetItem("I")->Value = _variant_t(i); pRec->Fields->GetItem("J")->Value = _variant_t(str); } TESTHR(pRec->Update()); TESTHR(pRec->Close()); } catch(_com_error &e) { _bstr_t bstrDescription(e.Description()); CharToOem(bstrDescription, bstrDescription); std::cout << bstrDescription << std::endl; } if(pCon != 0 && pCon->State == adStateOpen) pCon->Close(); ::CoUninitialize(); clock_t t2 = clock(); double t = (double)(t2 - t1) / CLOCKS_PER_SEC; std::wcout << ": " << t << " sec; " << writeRows * 10 / t << " cells/sec" << std::endl; }
void CNetworkControllView::OnEnKillfocusIdaddressEdit() { m_nSerialNum=get_serialnumber(); CString strSerialNum; strSerialNum.Format(_T("%d"), m_nSerialNum); CString strModbusID; m_idEdt.GetWindowText(strModbusID); strModbusID.Trim(); if(strModbusID.IsEmpty()) return; int nID=_wtoi(strModbusID); if(nID<=0||nID>=255) { // AfxMessageBox(_T("Please input a correct ID!")); return; } if(g_tstat_id==nID) return; _ConnectionPtr m_pConTmp; _RecordsetPtr m_pRsTemp; m_pConTmp.CreateInstance("ADODB.Connection"); m_pRsTemp.CreateInstance("ADODB.Recordset"); m_pConTmp->Open(g_strDatabasefilepath.GetString(),"","",adModeUnknown); CString strSql; strSql.Format(_T("select * from ALL_NODE where Product_ID ='%s'"),strModbusID); m_pRsTemp->Open((_variant_t)strSql,_variant_t((IDispatch *)m_pConTmp,true),adOpenStatic,adLockOptimistic,adCmdText); if(m_pRsTemp->GetRecordCount()>0) { while(VARIANT_FALSE==m_pRsTemp->EndOfFile) { CString strSID=m_pRsTemp->GetCollect("Serial_ID"); CString strPID=m_pRsTemp->GetCollect("Product_ID"); if( strSID.CompareNoCase(strSerialNum)!=0 && strPID.CompareNoCase(strModbusID)==0 ) { CString strPop; strPop.Format(_T("There is another device(Serial#=%s) has the ID ='%s', Please input a new one!"), strSID, strModbusID); AfxMessageBox(strPop); if(m_pRsTemp->State) m_pRsTemp->Close(); return; } m_pRsTemp->MoveNext(); } } if(m_pRsTemp->State) m_pRsTemp->Close(); int nRet=0; nRet=write_one(g_tstat_id, 6,nID); if(nRet>0) { g_tstat_id=nID; CString strSerial; strSerial.Format(_T("%d"),m_nSerialNum); strSerial.Trim(); strSql.Format(_T("update ALL_NODE set Product_ID ='%s' where Serial_ID ='%s'"),strModbusID,strSerial); m_pConTmp->Execute(strSql.GetString(),NULL,adCmdText); } if(m_pConTmp->State) m_pConTmp->Close(); CMainFrame* pPraent=(CMainFrame*)GetParent(); pPraent->ScanTstatInDB(); Fresh(); }
void CMyExcel::GetRange(CString strBegin,CString strEnd) { MyRange=MySheet.GetRange(_variant_t(strBegin),_variant_t(strEnd)); }
void ADOCommand::append( const _RecordsetPtr recordset ) { if( FAILED( m_command->GetParameters()->Append( _variant_t( ( IDispatch* )recordset, true ) ) ) ) { assert( 0 ); } }
/* Called when an instrument is dragged and dropped from the * Market Grid in X_TRADER. */ void CProfitLossDialog::CDropHandlerSink_NotifyDrop(const CDropHandlerSink* pSink) { m_StatusBar = (LPCSTR)"Drag & Drop detected. Initializing instrument..."; // Call after updating the AFX_DATA fields UpdateData(false); try { // Obtain the number of instruments dropped. long instrCount = m_pDropHandler->Obj()->Count; //Only support a maximum of four instruments if (instrCount > 4) { instrCount = 4; } for (long i = 0; i < instrCount; i++) { // Destroy the TTInstrObj objects if they exist. if (m_pInstrObj[i]) { // Remove the instrument and reset the alias m_pInstrNotify->Obj()->DetachInstrument(m_pInstrObj[i]); m_pInstrObj[i]->Alias = ""; m_pInstrObj[i] = NULL; } VARIANT vTmp; VariantInit(&vTmp); // Obtain the TTInstrObj from the TTDropHandler object. // The index for the drop handler begins at 1. if (SUCCEEDED(m_pDropHandler->Obj()->get_Item(_variant_t(i + 1), &vTmp))) { _variant_t vInstr; vInstr.Attach(vTmp); // Assign the instrument from what was passed through the drop handler m_pInstrObj[i] = XTAPI::ITTInstrObjPtr(vInstr); // Attach the TTInstrObj to the TTInstrNotify object. if (FAILED(m_pInstrNotify->Obj()->AttachInstrument(m_pInstrObj[i]))) { MessageBox("TTInstrObj could not be attached to the notifier.", "Error", MB_ICONERROR | MB_OK); return; } // Cast the index to a CString to use in the Alias CString strAlias; strAlias.Format("%d", i); // Set the TTInstrObj Alias to the index for identification m_pInstrObj[i]->Alias = (_bstr_t)strAlias; // Open the TTInstrObj. if (FAILED(m_pInstrObj[i]->Open(false))) { MessageBox("TTInstrObj could not be opened.", "Error", MB_ICONERROR | MB_OK); return; } } } // Reset the drop handler object if (FAILED(m_pDropHandler->Obj()->Reset())) { MessageBox("TTDropHandler could not be reset.", "Error", MB_ICONERROR | MB_OK); return; } } catch (_com_error err) { MessageBox(err.Description(), (LPCSTR)"Exception", 0); } }
void ADOCommand::set_active_connection( const _ConnectionPtr connection ) { m_command->PutActiveConnection( _variant_t( ( IDispatch* )connection, true ) ); }
long SmtAnnoFclsAdoLayer::UpdateFeature(const SmtFeature *pSmtFeature) { long lRet = SMT_ERR_NONE; ////////////////////////////////////////////////////////////////////////// //db SmtFeature *pSmtFea = m_pMemLayer->GetFeature(); if (NULL != pSmtFea) { char szSQL[TEMP_BUFFER_SIZE]; sprintf_s(szSQL,TEMP_BUFFER_SIZE,"select * from %s where ID = %d;",m_szLayerTableName,pSmtFea->GetID()); if (m_SmtRecordset.Open(szSQL)) { m_SmtRecordset.MoveFirst(); if (m_SmtRecordset.IsOpen() && !m_SmtRecordset.IsEOF() && m_SmtRecordset.GetRecordCount() == 1) { int nGridID = 0; char szAnnoBuf[TEMP_BUFFER_SIZE]; int nClr = 0; double fAngle = 0.; Envelope env; const SmtGeometry *pGeom = pSmtFeature->GetGeometryRef(); const SmtAttribute *pAtt = pSmtFeature->GetAttributeRef(); const SmtStyle *pStyle = pSmtFeature->GetStyle(); pGeom->GetEnvelope(&env); m_SmtRecordset.PutCollect("ID",_variant_t(pSmtFeature->GetID())); m_SmtRecordset.PutCollect("mbr_xmin",_variant_t(env.MinX)); m_SmtRecordset.PutCollect("mbr_ymin",_variant_t(env.MinY)); m_SmtRecordset.PutCollect("mbr_xmax",_variant_t(env.MaxX)); m_SmtRecordset.PutCollect("mbr_ymax",_variant_t(env.MaxY)); m_SmtRecordset.PutCollect("grid_id",_variant_t(nGridID)); ////////////////////////////////////////////////////////////////////////// lRet = AppendStyle(pStyle); ////////////////////////////////////////////////////////////////////////// lRet = AppendGeom(pGeom); ////////////////////////////////////////////////////////////////////////// const SmtField *pFld = NULL; pFld = pAtt->GetFieldPtr(pAtt->GetFieldIndex("anno")); sprintf(szAnnoBuf,pFld->GetValueAsString()); m_SmtRecordset.PutCollect("anno",_variant_t(szAnnoBuf)); pFld = pAtt->GetFieldPtr(pAtt->GetFieldIndex("color")); nClr = pFld->GetValueAsInteger(); m_SmtRecordset.PutCollect("color",_variant_t(nClr)); pFld = pAtt->GetFieldPtr(pAtt->GetFieldIndex("angle")); fAngle = pFld->GetValueAsDouble(); m_SmtRecordset.PutCollect("angle",_variant_t(fAngle)); if (!m_SmtRecordset.Update()) { SMT_SAFE_DELETE(pSmtFeature); return SMT_ERR_DB_OPER; } //mem m_pMemLayer->UpdateFeature(pSmtFeature); CalEnvelope(); } } } return lRet; }
INT CADOParameters::Add(SHORT sValue) { return Add(_variant_t(sValue)); }