Soham
Soham

Reputation: 873

Converting to Byte Array after reading a BLOB from SQL in C#

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

Upvotes: 6

Views: 37555

Answers (3)

Sandeep Sachan
Sandeep Sachan

Reputation: 61

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

Upvotes: 2

Guffa
Guffa

Reputation: 700910

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.

Upvotes: 18

Marc Gravell
Marc Gravell

Reputation: 1064244

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.

Upvotes: 0

Related Questions