2009-11-24 36 views
1

我想將數據存儲在MySQL BLOB字段中。我正在使用以下代碼:爲什麼我的BLOB字段仍然是13B - 我做錯了什麼?

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。你能諮詢一下嗎?謝謝!

+0

有缺失的...... – guerda

回答

1

您正在使用字符串連接將字節數組轉換爲字符串。這不會給你你想要的數據。 blob字段中的數據對於每一行都是相同的:我猜想ASCII中的字符串「System.Byte []」。

始終使用參數化的命令這樣的事情,這樣你就不需要擔心轉換和逃逸。