OriginalGriff
Это будет зависеть от того, что именно вы сохранили в своей БД в качестве изображения: вы извлекаете его в виде строки, поэтому вы могли бы сохранить URL-адрес изображения, изображение в виде строки base64 или даже просто попытаться сбросить экземпляр класса Image в БД.
- Мы не знаем.
Что вам нужно сделать, это начать с того, как вы храните его, чтобы точно узнать, что вы храните, а затем повернуть процесс вспять, чтобы получить экземпляр элемента управления изображением для установки в PictureBox.
Но ... самая распространенная ошибка-Сохранить Изображение через myImage.ToString (), или преобразовать его в массив байтов, и сел, что с myImageData.ToString () - ни один из них не будет работать, и оба они будут означать, что ваша БД содержит бесполезный мусор. Вы можете посмотреть здесь: Почему я получаю " параметр недопустим." исключение, когда я читаю изображение из своей базы данных?[^]- это показывает один из способов сделать это правильно.
И сделайте себе несколько одолжений:
1) прекратите использование SELECT *
и назовите поля, которые вы хотите получить:
SELECT ID, UserName, UserImage FROM ...
Это намного эффективнее.
2) Не используйте числовые индексы в DataReader: именованные индексы делают ваш код более легким для чтения и гораздо более надежным.
3) перестаньте использовать имена по умолчанию для всего: Table2, textBox3 - теперь вы можете вспомнить, что они содержат, но не будете через три недели, когда вам нужно будет изменить код. используйте "правильные" имена, которые описывают то, что они делают: tabUsers, tbUserName, ... они делают ваш код более самодокументируемым, и это также повышает надежность.
4) и очень, очень важно: никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.