【问题标题】:Reading mediumblob in C# mysql在 C# mysql 中读取 mediumblob
【发布时间】:2018-10-15 06:49:21
【问题描述】:

我希望从 mysql 数据库中读取一个 blob 文件并显示该 blob 的“散列”段。

这是我尝试过的。

MySqlConnection _connection = new MySqlConnection("Database=forum;Data Source=localhost;User Id=root;Password=");
        MySqlCommand cmd = new MySqlCommand("SELECT data FROM xf_user_authenticate WHERE user_id=1", _connection);

        _connection.Open();

        MemoryStream ms = new MemoryStream();
        FileStream fs;
        Byte[] bindata;

        bindata = (byte[])(cmd.ExecuteScalar());

        ms.Write(bindata, 0, bindata.Length);

        API.consoleOutput($"{bindata.Length} - {bindata.ToString()}");

这会输出到控制台,结果是

97 - 58

但这是我的 blob 的内容

a:1:{s:4:"hash";s:60:"$2y$10$myhashishere";}

【问题讨论】:

  • MySQL 的示例使用了阅读器和 GetBytes();你确定 ExecuteScalar 返回一个字节[]?

标签: c# mysql blob


【解决方案1】:

您的数据是 ascii 编码的字节数组,您可以使用返回字符串

ASCIIEncoding.ASCII.GetChars(bindata)

【讨论】:

  • 感谢您的回复。这似乎什么也没输出?只是一个空格
  • @Moretti API.consoleOutput 是什么?
  • @Uueerdo 它基本上是 Console.WriteLine。我是在游戏服务器的一些 API 处理程序中编写的。
  • 如果你使用 Console.WriteLine?
  • @Uueerdo 还是空白
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 2012-12-03
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 2015-11-06
相关资源
最近更新 更多