在C#中从SQL读取BLOB后转换为字节数组

在进行反序列化之前,我需要读取BLOB并将其存储在byte []中;

考虑:

//Reading the Database with DataAdapterInstance.Fill(DataSet); DataTable dt = DataSet.Tables[0]; foreach (DataRow row in dt.Rows) { byte[] BinDate = Byte.Parse(row["Date"].ToString()); // convert successfully to byte[] } 

我在这个C#语句中需要帮助,因为我无法将对象类型转换为byte []。 注意,表中的“日期”字段是一个blob而不是Date类型;

帮助赞赏; Soham

只需将值转换为字节数组:

 byte[] binDate = (byte[])row["Date"]; 

数据库中的blob映射到.NET中的字节数组,因此数据库驱动程序已经为您完成了该转换。

 byte[] binDate = (byte[])row["Date"]; 

如果“Date”是一个blob,它应该已经作为byte []出现 – 不确定为什么要调用ToString() ,但是Byte.Parse只会解析一个字节。