【问题标题】:Why my BLOB field is still 13B - what I am doing wrong?为什么我的 BLOB 字段仍然是 13B - 我做错了什么?
【发布时间】:2010-12-19 21:46:23
【问题描述】:

我想将数据存储在 MySQL BLOB 字段中。我正在使用以下代码:

int length = (int)fs.Length;
                        buffer = new byte[length];
                        int count;
                        int sum = 0;
                        while ((count = fs.Read(buffer, sum, length - sum)) > 0)
                            sum += count;

                        prikaz.CommandText = "INSERT INTO attachments (ReferenceID,Filename,File) VALUES ('" + referenceID + "','test','" + buffer + "')";
                        prikaz.ExecuteNonQuery();

但在数据库中,BLOB 字段始终是 13B。你能建议吗?谢谢!

【问题讨论】:

    标签: c# mysql blob


    【解决方案1】:

    您正在使用字符串连接将字节数组转换为字符串。那不会给你你想要的数据。您的 blob 字段中的数据对于每一行都是相同的:我怀疑是 ASCII 中的字符串“System.Byte[]”。

    总是对这类事情使用参数化命令,这样您就不必担心转换和转义。

    【讨论】:

      猜你喜欢
      • 2021-03-20
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2014-06-21
      • 2021-04-14
      • 2021-04-19
      相关资源
      最近更新 更多