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

时间:2010-04-17 10:36:35

标签: c# sqlite

在进行反序列化之前,我需要读取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

3 个答案:

答案 0 :(得分:11)

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

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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