Esempio n. 1
0
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 ;
    }
}
Esempio n. 3
0
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;
	}

}
Esempio n. 6
0
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;
	}
	
}