Converting to Byte Array after reading a BLOB from

2019-02-17 17:54发布

问题:

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

回答1:

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.



回答2:

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


回答3:

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.



标签: c# sqlite3