Просто дикая догадка: изображение DVDImage
содержит больше, чем просто Byte
... может быть, байтовый массив (Byte[]
)?Замените
Byte bits = Convert.ToByte(ds.Tables[0].Rows[0][0]);
на
Byte[] bits = ds.Tables[0].Rows[0].Field<Byte[]>("DVDImage");
(или
Byte[] bits = (byte[])(ds.Tables[0].Rows[0][0]);
, если вы используете старую версию .NET Framework).