在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
只会解析一个字节。