在进行反序列化之前,我需要读取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
答案 0 :(得分:11)
只需将值转换为字节数组:
byte[] binDate = (byte[])row["Date"];
数据库中的blob映射到.NET中的字节数组,因此数据库驱动程序已经为您完成了转换。
答案 1 :(得分:2)
byte[] binDate = (byte[])row["Date"];
答案 2 :(得分:0)
如果“日期”是一个blob,它应该已经以字节[]形式出现 - 不确定为什么要调用ToString()
,但Byte.Parse
只会解析一个单个 byte。