Retrieve varbinary(MAX) from SQL Server to byte[] in C#

ePezhman picture ePezhman · Oct 11, 2011 · Viewed 24.5k times · Source

I'm trying to get a varbinary(MAX) from SQL Server to a byte[] variable in C#.

How can I do this?

Thanks

Answer

Rubens Farias picture Rubens Farias · Oct 11, 2011
private static byte[] getDocument(int documentId)
{
    using (SqlConnection cn = new SqlConnection("..."))
    using (SqlCommand cm = cn.CreateCommand())
    {
        cm.CommandText = @"
            SELECT DocumentData
            FROM   Document
            WHERE  DocumentId = @Id";
        cm.Parameters.AddWithValue("@Id", documentId);
        cn.Open();
        return cm.ExecuteScalar() as byte[];
    }
}