tags:

views:

248

answers:

3

Hi All,

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

A: 

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.

Marc Gravell
Yes thanks Marc, I was just doing trial and error.
Soham
+2  A: 

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.

Guffa
Much thanks,help appreciated it worked!
Soham
A: 

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

Sandeep Sachan
Sandeep yes, right. But I can't "tick" mark and accept both of your answers.
Soham