Как я могу запросить MySQL Max_Allowed_Packet через C#?

Я пытаюсь проверить значение max_allowed_packet размер. Это мой код:

public int MaxAllowedPacket()
{                
    var max = 0;
    using (var conn = new MySqlConnection(_ConnectionString))
    {
        var sql = conn.CreateCommand();
        sql.CommandText = "SHOW VARIABLES like 'max_allowed_packet'";

        try
        {
            conn.Open();
            var reader = sql.ExecuteReader();
            // not sure where to go from here
        }
        catch (Exception ex)
        {
            // I've got some logging here
        }
    }
    return max;
}

Я подозреваю, что формат запроса или выполнение неверно, потому что мой результат всегда

-1

РЕДАКТИРОВАТЬ:

Я отредактировал код для использования sql.ExecuteReader() но результат сейчас:

"Перечень не дал результатов".

1 ответ

Решение

В конце концов понял это сам, и подумал опубликовать это здесь, прежде чем это будет понижено еще больше...

var reader = sql.ExecuteReader();
reader.Read();
max = reader.GetInt32(1);

Лучше всего попытаться поймать, и вы можете запросить первое поле через reader.GetString(0), который должен вернуть "max_allowed_packet".

Другие вопросы по тегам