извлечение данных изображения в поле изображения
в моем приложении c# есть хранилище изображений в базе данных и извлечение изображений из базы данных в поле изображения.
вставка изображения в базу данных выполнена успешно, но считывание изображения невозможно.возникает одна ошибка "параметр недопустим"
// мой код c# находится здесь
// код для вставки изображения в базу данных приведен ниже
FileStream fs = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read); byte[] imgbnry = new byte[fs.Length]; fs.Read(imgbnry, 0,imgbnry.Length); fs.Close(); string str = "insert into tbl_img (id,photo)values('" + textBox3.Text + "','@img')"; SqlConnection con = new SqlConnection(@"DataSource=.\SQLEXPRESS;AttachDbFilename=C:\Users\Keltron_Project\Documents\sampl_pi.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;"); con.Open(); SqlCommand cmd = new SqlCommand(str, con); cmd.Parameters.AddWithValue("@img", imgbnry); int n = cmd.ExecuteNonQuery(); if (n > 0) { MessageBox.Show("Successfully inserted"); } else { MessageBox.Show("Not inserted"); }
// код для чтения изображения из базы данных приведен ниже
string str = "select photo from tbl_img where id='"+textBox2.Text+"'"; SqlConnection con = new SqlConnection(@"DataSource=.\SQLEXPRESS;AttachDbFilename=C:\Users\Keltron_Project\Documents\sampl_pi.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;"); con.Open(); SqlDataAdapter da = new SqlDataAdapter(str,con); DataTable dt = new DataTable(); da.Fill(dt); if (dt.Rows.Count > 0) { byte[] imgdata = new byte[0]; imgdata = (byte[])dt.Rows[0][0]; MemoryStream ms = new MemoryStream(imgdata); pictureBox1.Image = Image.FromStream(ms); //error occurs here "prameter is not valid" } else { MessageBox.Show("No images in a table"); }
пожалуйста помочь...
заранее спасибо
george4986
укажите длину буфера
"byte[] imgdata = new byte[0];" не работает
George Jonsson
Не используйте в тексте все заглавные буквы.
это считается криком, и это не очень вежливо.
Member 10984793
сори сэр,,,
George Jonsson
Не извиняйся, измени его.