BitrixAQA.General.SQL.mysqlQuery C# (CSharp) Method

mysqlQuery() public static method

Метод реализует выполнение запросов к базе mysql
public static mysqlQuery ( string edition, string DBType, string query ) : string
edition string Редакция
DBType string Тип базы
query string SQL запрос
return string
        public static string mysqlQuery(string edition, string DBType, string query)
        {
            string result = null;
            string ConnectionString = null;
            ConnectionString = "SERVER=" + Options.GetOption("/Options/ConnectionString/mysql") + ";" +
                       "port=" + Options.GetOption("/Options/ConnectionString/mysql_port") + ";" +
                       "DATABASE=" + GetDBname(edition, DBType) + ";" +
                       "UID=root;" +
                       "PASSWORD=;";
            using (MySqlConnection connection = new MySqlConnection(ConnectionString))
            {
                using (MySqlCommand command = connection.CreateCommand())
                {
                    command.CommandText = query;
                    connection.Open();

                    var results = new List<string>();
                    using (MySqlDataReader Reader = command.ExecuteReader())
                    {
                        bool first = true;

                        while (Reader.Read())
                        {
                            var sb = new StringBuilder();
                            for (int i = 0; i < Reader.FieldCount; i++)
                                sb.AppendLine(Reader.GetValue(i).ToString());
                            results.Add(sb.ToString());

                            if (first)
                            {
                                result = Reader.GetValue(0).ToString();
                                first = false;
                            }
                        }
                    }

                    if (results.Count > 1)
                    {
                        string Return = null;
                        foreach (var r in results)
                            Return = Return + r + " ";
                        string spanID = DateTime.Now.Ticks.ToString();
                        Log.MesQuestion("<div style=\"margin: 0px 0px 0px 50px;\"><font size=\"2\" face=\"Verdana\"><a class=\"plus\"" +
                            " href=\"\" onclick=\"return collapse('" + spanID + "', this)\">" + "Результат выполнения запроса " + query + " содержит больше чем одно поле. Все поля: " +
                            " </a></font></div><br><span style=\"display:none;\" id=\"" + spanID + "\">" + Return);
                    }
                }
                connection.Close();
            }
            return result;
        }