如何通过c查询mysql max#u allowed#packet?

5tmbdcev  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(288)

我正在检查 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() 但现在的结果是:
“枚举没有结果”。

7vux5j2d

7vux5j2d1#

最终我自己弄明白了,想把它贴在这里,在这被否决之前。。。

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

最好放一些try-catch,您可以选择查询第一个字段 reader.GetString(0) ,它应该返回“max\u allowed\u packet”。

相关问题