/// <summary>
/// Метод реализует выполнение запросов к базе mysql
/// </summary>
/// <param name="edition">Редакция</param>
/// <param name="DBType">Тип базы</param>
/// <param name="query">SQL запрос</param>
/// <returns>Результат выполнения запроса</returns>
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);
}