/** Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>* Copyright (C) 2009-2011 MaNGOSZero <https://github.com/mangos/zero>* Copyright (C) 2011-2016 Nostalrius <https://nostalrius.org>* Copyright (C) 2016-2017 Elysium Project <https://github.com/elysium-project>** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/#ifndef DO_POSTGRESQL#include "DatabaseEnv.h"#include "Errors.h"QueryResultMysql::QueryResultMysql(MYSQL_RES *result, MYSQL_FIELD *fields, uint64 rowCount, uint32 fieldCount) :QueryResult(rowCount, fieldCount), mResult(result){mCurrentRow = new Field[mFieldCount];MANGOS_ASSERT(mCurrentRow);for (uint32 i = 0; i < mFieldCount; i++)mCurrentRow[i].SetType(ConvertNativeType(fields[i].type));}QueryResultMysql::~QueryResultMysql(){EndQuery();}bool QueryResultMysql::NextRow(){MYSQL_ROW row;if (!mResult)return false;row = mysql_fetch_row(mResult);if (!row){EndQuery();return false;}for (uint32 i = 0; i < mFieldCount; i++)mCurrentRow[i].SetValue(row[i]);return true;}void QueryResultMysql::EndQuery(){if (mCurrentRow){delete [] mCurrentRow;mCurrentRow = 0;}if (mResult){mysql_free_result(mResult);mResult = 0;}}enum Field::DataTypes QueryResultMysql::ConvertNativeType(enum_field_types mysqlType) const{switch (mysqlType){case FIELD_TYPE_TIMESTAMP:case FIELD_TYPE_DATE:case FIELD_TYPE_TIME:case FIELD_TYPE_DATETIME:case FIELD_TYPE_YEAR:case FIELD_TYPE_STRING:case FIELD_TYPE_VAR_STRING:case FIELD_TYPE_BLOB:case FIELD_TYPE_SET:case FIELD_TYPE_NULL:return Field::DB_TYPE_STRING;case FIELD_TYPE_TINY:case FIELD_TYPE_SHORT:case FIELD_TYPE_LONG:case FIELD_TYPE_INT24:case FIELD_TYPE_LONGLONG:case FIELD_TYPE_ENUM:return Field::DB_TYPE_INTEGER;case FIELD_TYPE_DECIMAL:case FIELD_TYPE_FLOAT:case FIELD_TYPE_DOUBLE:return Field::DB_TYPE_FLOAT;default:return Field::DB_TYPE_UNKNOWN;}}#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。