public static string[,] mysqlQueryArray(string edition, string DBType, string query)
{
string ConnectionString = null;
ConnectionString = "SERVER=" + Options.GetOption("/Options/ConnectionString/mysql") + ";" +
"port=" + Options.GetOption("/Options/ConnectionString/mysql_port") + ";" +
"DATABASE=" + GetDBname(edition, DBType) + ";" +
"UID=root;" +
"PASSWORD=;";
MySqlConnection connection = new MySqlConnection(ConnectionString);
//Открываем sql соединение
connection.Open();
//Читаем результат выпонения запроса в reader
MySqlCommand command = new MySqlCommand(query, connection);
MySqlDataReader dataReader = command.ExecuteReader();
//Тут мы читаем ридер, чтобы узнать его глубину. Иначе никак.
int i = 0;
while (dataReader.Read())
i++;
//И полученную глубину ридера используем для задания размерности массива при его объявлении
string[,] valuesList = new string[i, dataReader.FieldCount];
//Закрываем ридер
dataReader.Close();
//Повторно считываем результат запроса, но теперь заносим его в проинициилизированый массив
dataReader = command.ExecuteReader();
i = 0;
while (dataReader.Read())
{
for (int j = 0; j < dataReader.FieldCount; j++)
valuesList[i, j] = dataReader[j].ToString();
i++;
}
//Закрываем ридер и соединение
dataReader.Close();
connection.Close();
//Возвращаем наш массив
return valuesList;
}