2015-05-20 78 views
0

我對C#很新穎(因爲我敢肯定你可以告訴),而且我知道這個問題已經被問了幾次,但沒有一個解決方案爲我工作。從數據庫中拉出varbinary並轉換爲字符串

我試圖從數據庫中拉出Varbinary(MAX)值並將其作爲字符串存儲。我正在使用SqlDataReader來提升其他一些可以正常工作的列。所有我使用對他們來說是.ToString(),但如果我用ToString()徽標返回System.Byte[]

public TemplateData(SqlDataReader dr) 
    { 
     initialiseData(); 
     if (dr.HasRows) 
     { 

      Logo = dr["Logo"].ToString(); 
      TemplateId = dr["TemplateId"].ToString(); 
      Comment = dr["Comment"].ToString(); 
      SchemeCode = dr["SchemeCode"].ToString(); 
      Version = dr["Version"].ToString(); 
     } 
    } 

還有就是我在藏漢問題多如牛毛,但我會離開他們現在。

乾杯!

+2

將'varbinary'存儲爲'string',而不是'byte []'的原因是什麼?我猜想很奇怪的設計。 –

回答

1

投作爲一個字節數組,然後轉換,例如:

byte[] data = (byte[])row["BinaryColumn"]; 
string str = Encoding.UTF8.GetString(data); 

但是這是使大假設二進制某種字符串,否則,你可能想的Base-64:

string str = Convert.ToBase64String(data); 
+0

Yeeaaah ...爲快速反應乾杯,但它不工作:( – Bigtingz92

相關問題