sqlquery::en_filereadstatus sqlquery::open_dbfile(tStr dbfn) { if (dbfn.empty()) return sqlfileOPENERROR; smartFILE fp; // Does the file exist? if (check_fileExists(dbfn.c_str()) == false) { return sqlfileOPENERROR; } // Try to open the file for reading fp = fopen(dbfn.c_str(), "r"); if (fp == NULL) { return sqlfileOPENERROR; } fp.close_file(); int rc = sqlite3_open_v2(dbfn.c_str(), &m_db, SQLITE_OPEN_READONLY, NULL); if ((rc != SQLITE_OK)||(m_db == NULL)) { close_dbfile(); return sqlfileOPENERROR; } tempstmt stmt; sqlite3_exec(m_db, /*"PRAGMA synchronous = OFF;" "PRAGMA journal_mode = OFF;" "PRAGMA locking_mode = EXCLUSIVE;" "PRAGMA automatic_index = FALSE;"*/ "PRAGMA cache_size = 20000;", NULL, 0, NULL); tStr majorver = read_configtbl("DB_MAJOR_VER", stmt.get()); tStr minorver = read_configtbl("DB_MINOR_VER", stmt.get()); if ((majorver.empty())||(minorver.empty())) { return sqlfileNOTCORRECTDB; } if (majorver.compare(tStr("0")) != 0) return sqlfileINCORRECTVER; if (minorver.compare(tStr("1")) != 0) return sqlfileINCORRECTVER; m_basepath = read_configtbl("DB_BASE_PATH", stmt.get()); if (m_basepath.empty()) { return sqlfileNOTCORRECTDB; } rc = sqlite3_prepare_v2(m_db, SQL_AUTOCOMPLETE, strlen(SQL_AUTOCOMPLETE), &(m_autocompstmt.m_stmt), NULL); if (rc != SQLITE_OK) { return sqlfileNOTCORRECTDB; } return sqlfileOK; }
void add_if_writable (GdkPixbufFormat *data, _List *list) { if (gdk_pixbuf_format_is_writable (data)) { _String tStr (data->name); (*list) && & tStr ; } }
tVecStr sqlquery::search_autocomplete(const char* searchstr) { tVecStr result; int ctr = 0; if ((searchstr == NULL)||(strlen(searchstr) < 1)||(m_db == NULL)) return result; tStr srchterm = process_searchterm_autocomplete(searchstr); sqlite3_reset(m_autocompstmt.get()); int rc = sqlite3_bind_text(m_autocompstmt.get(), 1, srchterm.c_str(), srchterm.size(), SQLITE_STATIC); if (rc != SQLITE_OK) { printf("Err: %s\n", sqlite3_errmsg(m_db)); return result; } do { rc = sqlite3_step(m_autocompstmt.get()); if (rc == SQLITE_ROW) { result.push_back(tStr((const char*) sqlite3_column_text(m_autocompstmt.get(), 0))); //if (ctr++ > 300) rc = SQLITE_DONE; } } while (rc == SQLITE_ROW); if (rc != SQLITE_DONE) { printf("Err: %s\n", sqlite3_errmsg(m_db)); } return result; }
void Z_DC_Spread_Policy::GetStartTime(char *ins){ string tStr(ins); m_PrefixIns.clear(); int _len=0; for(_len=0;_len<(int)tStr.length();_len++){ if(tStr[_len]<='9'&&tStr[_len]>='0'){ break; } } m_PrefixIns = tStr.substr(0,_len); if(m_PrefixIns == string("IF") || m_PrefixIns == string("IC") || m_PrefixIns == string("IH")){ strcpy(m_cStartTime,"09:30:00"); }else if(m_PrefixIns == string("TF") || m_PrefixIns == string("T")){ strcpy(m_cStartTime,"09:15:00"); }else{ strcpy(m_cStartTime,"09:00:00"); } cout<<"Start Time:"<<m_cStartTime<<" "<<tStr<<" "<<m_PrefixIns<<endl;//" EndTime: "<<m_cEndTimeList[m_PrefixIns]<<endl; }
string stlUnicodeToAscii( LPCWSTR strW ) { char* pElementText = NULL; int iTextLen = 0; // wide char to multi char iTextLen = WideCharToMultiByte( CP_ACP, 0, strW, -1, NULL, 0, NULL, NULL ); if(iTextLen < MAX_CONVER_LEN) { pElementText = (char*)_alloca(iTextLen+1); } else { pElementText = new char[iTextLen+1]; } memset( ( void* )pElementText, 0, sizeof( char ) * ( iTextLen + 1 ) ); ::WideCharToMultiByte( CP_ACP, 0, strW, -1, pElementText, iTextLen, NULL, NULL ); if(iTextLen < MAX_CONVER_LEN) { return string(pElementText); } else { string tStr(pElementText); delete [] pElementText; return tStr; } }
void CSVIO::read(std::vector<std::vector<std::string> >& strOut, std::vector<std::vector<double> >& dblOut){ CSVRow row; std::vector<int>::iterator dblColItr = dblCols.begin(); std::vector<int>::iterator strColItr = strCols.begin(); std::vector<std::string> rowStr; std::vector<double> tDbl(dblCols.size()); std::vector<std::string> tStr(strCols.size()); int rowindex = 0; std::string temp; row.read(ifs); rowStr = row.getData(); while(!ifs.fail() && !ifs.eof() && (rowindex < nrow)){ row.read(ifs); rowStr = row.getData(); for(int i = 0; i < rowStr.size(); i++){ if((strColItr != strCols.end()) && (i == *strColItr)){ tStr.push_back(rowStr.at(i)); ++strColItr; }else if((dblColItr != dblCols.end()) && (i == *dblColItr)){ temp = rowStr.at(i); boost::algorithm::trim(temp); if(temp == "." ){ tDbl.push_back(NA_DOUBLE); }else{ tDbl.push_back(std::stof(rowStr.at(i))); } ++dblColItr; } } dblOut.push_back(tDbl); strOut.push_back(tStr); ++rowindex; rowStr.clear(); tStr.clear(); tDbl.clear(); } }
wstring stlUtf8ToUnicode( LPCSTR strUtf8 ) { int unicodeLen = ::MultiByteToWideChar( CP_UTF8, 0, strUtf8, -1, NULL, 0 ); wchar_t *pUnicode = NULL; if(unicodeLen < MAX_CONVER_LEN) { pUnicode = (wchar_t*)_alloca( (unicodeLen+1)*sizeof(wchar_t)); } else { pUnicode = new wchar_t[unicodeLen+1]; } memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t)); ::MultiByteToWideChar( CP_UTF8, 0, strUtf8, -1, (LPWSTR)pUnicode, unicodeLen ); if(unicodeLen < MAX_CONVER_LEN) { return wstring(pUnicode); } else { wstring tStr(pUnicode); delete [] pUnicode; return tStr; } }