为什么我的BLOB字段仍然是13B - 我做错了什么?

时间:2009-11-24 14:15:10

标签: c# mysql blob

我想将数据存储在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。你能建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

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

始终使用参数化命令进行此类操作,因此您无需担心转换和转义。