如何通过 C# 查询 MySQL Max_Allowed_Packet?

How can I query the MySQL Max_Allowed_Packet through 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() 但现在的结果是:

"Enumeration yielded no results".

最终我自己弄明白了,并想在这里post它,在这被否决之前...

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

最好在附近放置一些 try catch,您可以选择通过 reader.GetString(0) 查询第一个字段,这应该 return "max_allowed_packet".