MahmoudOmar Ответов: 2

Извлечение изображения из базы данных с помощью значения из текстового поля


я получаю изображение из базы данных, но мой код выдает мне ошибку: - не удается преобразовать байт в байт[]

это код тис:-
s = " Select Driver_ID, Driver_Name, Tel1, Tel2, Address, Date_S_Work, Place_id, License_type_id, Date_S_License, Date_E_License, Notes ";
s = s + " из драйверов, где Driver_ID = @Driver_ID ";
sCommand = new SqlCommand(s, con);
скоманд.Параметры.AddWithValue ("@Driver_ID", txt_code.Текст);
sdReader = sCommand.Метода executereader();
если (sdReader.Читать())
{
txt_Driver_Name.Текст = sdReader.GetString(1);
txt_Tel1.Текст = sdReader.GetString(2);
txt_Tel2.Текст = sdReader.IsDBNull(3)? null : sdReader.GetString(3);
txt_Address.Текст = sdReader.GetString(4);
dtp_S_work.Значение = sdReader.GetDateTime(5);
CB_WorkPlace.SelectedValue = sdReader.GetInt32(6);
CB_License_type.SelectedValue = sdReader.GetInt32(7);
dtp_StartLicense.Значение = sdReader.GetDateTime(8);
dTP_Date_e_License.Значение = sdReader.GetDateTime(9);
txt_Notes.Текст = sdReader.IsDBNull(10)? null : sdReader.GetString(10);

byte[] DriverImg = (byte[])sdReader.GetByte(11);
MemoryStream ms = новый MemoryStream(DriverImg);
pictureBox_IMG.Образ = Образ.FromStream(МС);

Что я уже пробовал:

Как я могу получить изображение из базы данных? или как я решу эту проблему ?

[no name]

Вы должны научиться читать документацию, когда используете классы. Почему бы вам не попробовать метод GetBytes, чтобы получить массив байтов вместо одного байта, который именно то, что сообщение об ошибке говорит вам?

MahmoudOmar

ошибка-это Коннот преобразования байта в байт[] как я получаю значение я новичок и учусь так что помогите пожалуйста

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

2 Ответов

Рейтинг:
2
Рейтинг:
0

OriginalGriff

Если вы посмотрите на определение GetByte: Класс sqldatareader.Метод GetByte (Int32) (System. Data.SqlClient)[^] он возвращает один байт из столбца, а не массив байтов.
И вы не можете привести байт к массиву-это просто не сработает.
Вы можете посмотреть здесь: Почему я получаю " параметр недопустим." исключение, когда я читаю изображение из своей базы данных?[^]- он показывает, как это сделать, и объясняет некоторые подводные камни, с которыми вы можете столкнуться.