Converting to Byte Array after reading a BLOB from

2019-02-17 18:21发布

I need to read a BLOB and store it in a byte[], before going forward with Deserializing;

Consider:

 //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[]

    }

I need help in this C# statement, as I am not able to convert an object type into a byte[]. Note, "Date" field in the table is a blob and not of type Date;

Help appreciated; Soham

标签: c# sqlite3
3条回答
Luminary・发光体
2楼-- · 2019-02-17 18:30
byte[] binDate = (byte[])row["Date"];
查看更多
爷、活的狠高调
3楼-- · 2019-02-17 18:34

If "Date" is a blob, it should already come out as a byte[] - not sure why you are calling ToString(), but Byte.Parse will only parse a single byte.

查看更多
4楼-- · 2019-02-17 18:38

Just cast the value to a byte array:

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

A blob in the database maps to a byte array in .NET, so the database driver have already done that conversion for you.

查看更多
登录 后发表回答