ResultSet::ResultSet(MYSQL* mysql) { ASSERT(mysql != NULL); m_resultSet = mysql_store_result(mysql); if(!m_resultSet) { throw Error(mysql, __FILE__, __LINE__); } //m_currentRow = mysql_fetch_row(m_resultSet); m_numFields = mysql_num_fields(m_resultSet); for(int i = 0; i < m_numFields; ++i) { MYSQL_FIELD *field = mysql_fetch_field_direct(m_resultSet,i); Column *col = new Column(this, field,i); m_columns.push_back(col); std::string n = col->ColumnName(); std::transform(n.begin(),n.end(),n.begin(),tolower); m_columnsMap.insert(std::make_pair(n,col)); } }