int ReadTmsDBData4Int( const std::string& sFieldName , int& retValue ) { int iResult(0); std::string strError; CppMySQL3DB mySql; iResult = mySql.openTMS(); if(iResult != 0) { //strError = "打开数据库错误。"; strError = "Open DataBase Error."; printf( "Error:%s\n" , strError.c_str() ); return iResult; } char tmp[DATALEN]=""; memset(tmp,0,DATALEN); sprintf( tmp , "select * from system_config where conf_item = '%s'" , sFieldName.c_str() ); CppMySQLQuery recordset = mySql.querySQL(tmp,iResult); if(iResult != 0) { mySql.close(); //strError = "查询数据库错误"; strError = "Query DataBase Error."; printf( "Error:%s\n" , strError.c_str() ); return iResult; } recordset.seekRow(0); if(recordset.numRow() != 0) { std::string strVal = recordset.getStringField("conf_val"); if ( strVal.length() == 0 ) { //strError = "查询数据为NULL"; strError = "Query Data Is NULL."; printf( "Error:%s\n" , strError.c_str() ); iResult = -1; } else { retValue = atoi(strVal.c_str()); } } else { //strError = "查询数据不存在"; strError = "Query Data Not Exist."; printf( "Error:%s\n" , strError.c_str() ); mySql.close(); iResult = -1; } return iResult; }
bool Auth::checkPass() { CppMySQL3DB db; String logContent; int iRet = db.open(dbServerIP.c_str(), dbUserName.c_str(), dbUserPass.c_str(), "cloud"); if ( iRet != 0 ) { logContent = "open mysql db failed"; log.write(logContent, Log::ERROR); return false; } CppMySQLQuery query ; String sql = "select id,type from User where user='******'"; sql += " and passwd='" + userPass + "'"; try { query = db.querySQL( sql.c_str() ); } catch(const char* sErr) { logContent = "execute " + sql + " failed:" + sErr; log.write( logContent, Log::ERROR); db.close(); return false; } int rowCnt = query.numRow(); if( rowCnt != 1 ) { char buf[10]; logContent = "execute " + sql + ",the result row count is not 1 " + " ,we desire 1 row."; log.write( logContent, Log::ERROR); db.close(); return false; } userID = query.getStringField("id"); userType = query.getIntField("type"); db.close(); return true; }