Как получить изображение из datagridview в picturebox в C#?
Мне нужна ваша помощь, ребята..
Я хочу получить изображение из datagridview в picturebox. Ниже приведен мой код, и я получаю ошибку в событии щелчка ячейки datagridview :( Ребята, вы можете мне помочь? Мне очень нужна ваша помощь :(
Что я уже пробовал:
Вот мой код для просмотра картинки в picturebox:
string img_file = null; private void button13_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); if (o.ShowDialog() != DialogResult.Cancel) { img_file = o.FileName; pictureBox1.Image = Image.FromFile(o.FileName); } } While here`s my code for saving image to database: if (img_file != null) { FileStream fs = new FileStream(img_file, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] image = new byte[fs.Length]; fs.Read(image, 0, Convert.ToInt32(fs.Length)); fs.Close(); if (textBox2.Text != "" && comboBox13.Text != "" && comboBox1.Text != "" && dateTimePicker1.Text != "" && comboBox3.Text != "" && textBox4.Text != "" && textBox5.Text != "" && textBox6.Text != "" && textBox7.Text != "") { SqlConnection con = new SqlConnection(cs); SqlCommand cmd = new SqlCommand("insert into tbl_Inquiry(Dog_Name,Breed,Color,Birthday,Gender,Size,Owners_Last_Name,Owners_First_Name,Contact_No,Address,Date_Registered,Image) values (@dogname,@breed,@color,@birthday,@gender,@size,@lastname,@firstname,@contactno,@address,@date,@image)", con); con.Open(); cmd.Parameters.AddWithValue("@dogname", textBox2.Text); cmd.Parameters.AddWithValue("@breed", comboBox13.Text); cmd.Parameters.AddWithValue("@color", comboBox1.Text); cmd.Parameters.AddWithValue("@birthday", dateTimePicker1.Text); cmd.Parameters.AddWithValue("@gender", comboBox2.Text); cmd.Parameters.AddWithValue("@size", comboBox3.Text); cmd.Parameters.AddWithValue("@lastname", textBox5.Text); cmd.Parameters.AddWithValue("@firstname", textBox6.Text); cmd.Parameters.AddWithValue("@contactno", textBox7.Text); cmd.Parameters.AddWithValue("@address", textBox4.Text); cmd.Parameters.AddWithValue("@date", DateTime.Now.ToShortDateString()); SqlParameter prm = new SqlParameter("@image", SqlDbType.Image, image.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, image); cmd.Parameters.Add(prm); cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("Sucessfully Save!"); DisplayData(); ClearData(); } else { MessageBox.Show("Missing details! Please try again!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } And lastly, here`s my code for retrieving image from datagridview to picturebox: private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); textBox2.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); comboBox13.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString(); comboBox1.Text = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); dateTimePicker1.Text = dataGridView1.SelectedRows[0].Cells[4].Value.ToString(); comboBox2.Text = dataGridView1.SelectedRows[0].Cells[5].Value.ToString(); comboBox3.Text = dataGridView1.SelectedRows[0].Cells[6].Value.ToString(); textBox5.Text = dataGridView1.SelectedRows[0].Cells[7].Value.ToString(); textBox6.Text = dataGridView1.SelectedRows[0].Cells[8].Value.ToString(); textBox7.Text = dataGridView1.SelectedRows[0].Cells[9].Value.ToString(); textBox4.Text = dataGridView1.SelectedRows[0].Cells[10].Value.ToString(); byte[] bytes = (byte[]) dtaGridView1.SelectedRows[0].Cells[11].Value; MemoryStream ms = new MemoryStream(bytes); pictureBox1.Image = Image.FromStream(ms); }