OriginalGriff
Начните с использования отладчика и посмотрите точно, что находится в строке, которую вы пытаетесь преобразовать: скорее всего, это не поток байтов, который вы можете непосредственно использовать в качестве данных изображения: это может быть путь к файлу, это могут быть данные изображения, переведенные Base64, это может быть совершенно неправильная ячейка - мы не знаем, и в данный момент Вы тоже не знаете!
Поэтому используйте отладчик, чтобы посмотреть на экран и выяснить, что на самом деле представляет собой содержимое: поставьте точку останова на линии
byte[] imgbyte = (byte[])dgvProduct.CurrentRow.Cells[11].Value;
И осмотрите, что находится в камере.
Мы не можем сделать это за вас - у нас нет доступа к вашим данным...
Member 12840127
Он содержит столбец с именем Photo, а данные отображаются как System.Байт[] в столбце фото.
Я преобразовал изображение в байт и отправил в базу данных и при извлечении данных в datagrid
она предстает как система.Byte[] теперь я хочу загрузить его в picture box, поэтому я использовал следующий код:
byte[] imgbyte = (byte []) dgvProduct.CurrentRow.Ячейки ["Фото"]. Значение;
OriginalGriff
Он выглядит как " System. byte []", потому что это реализация ToString по умолчанию для массива байтов: первое, что вам нужно посмотреть, это то, как вы получили данные в БД: если вы использовали конкатенацию строк при вставке или обновлении команды, то это проблема, и данные в вашей БД-это полный мусор.
Взгляните на это:
https://www.codeproject.com/Tips/465950/Why-do-I-get-a-Parameter-is-not-valid-exception-wh
Скорее всего, это ваша проблема и решение...