Мне нужна помощь для показа изображений из моего документа datagridview на мой фотобарабан, может ли кто-нибудь помочь мне? Я очень новичок в этом. На этот сайт также.Как отображать изображение с datagridview на картинке?
Я использовал это, чтобы сохранить изображения
private void button1_Click(object sender, EventArgs e)
{
byte[] imageBt = null;
FileStream fstream = new FileStream(this.afbeelding_txt.Text, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fstream);
imageBt = br.ReadBytes((int)fstream.Length);
string constring = "datasource=localhost;port=3306;username=username;password=password";
string Query = "INSERT INTO project.auto (kenteken, merk, type, kleur, deuren, prijscategorie, afbeelding) VALUES('" + this.kenteken_txt.Text + "','" + this.merk_txt.Text + "','" + this.type_txt.Text + "','" + this.kleur_txt.Text + "','" + this.deuren_txt.Text + "','" + this.prijscategorie_txt.Text + "',@IMG) ;";
MySqlConnection conDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
MySqlDataReader myReader;
try
{
conDataBase.Open();
cmdDataBase.Parameters.Add(new MySqlParameter("@IMG", imageBt));
myReader = cmdDataBase.ExecuteReader();
MessageBox.Show("Opgeslagen");
while (myReader.Read())
{
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
load_table();
}
И следующее, чтобы показать DataGridView
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex >= 0)
{
DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
kenteken_txt.Text = row.Cells["kenteken"].Value.ToString();
merk_txt.Text = row.Cells["merk"].Value.ToString();
type_txt.Text = row.Cells["type"].Value.ToString();
kleur_txt.Text = row.Cells["kleur"].Value.ToString();
deuren_txt.Text = row.Cells["deuren"].Value.ToString();
prijscategorie_txt.Text = row.Cells["prijscategorie"].Value.ToString();
afbeelding_txt.Text = row.Cells["afbeelding"].Value.ToString();
}
}
Помимо этого кода PictureBox не упоминается.
private void button6_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "PNG Files(*.png)|*.png|JPG Files(*.jpg)|*.jpg|All Files(*.*)|*.*";
dlg.Title = "Selecteer auto afbeelding.";
if (dlg.ShowDialog() == DialogResult.OK)
{
string picPath = dlg.FileName.ToString();
afbeelding_txt.Text = picPath;
pictureBox1.ImageLocation = picPath;
}
}
Изображение отображается в DataGridView в этой колонке:
afbeelding_txt.Text = row.Cells["afbeelding"].Value.ToString();
Я попытался:
pictureBox1.Image = Image.FromFile(row.Cells["afbeelding"].Value.ToString());
И получил следующее сообщение об ошибке:
необработанное исключение типа «System.IO.FileNotFoundException» произошел в System.Drawing.dll
Дополнительная информация: System.Byte []
Где ваш контроль PictureBox? – HICURIN
как вы связываете dataGridView1? есть ли какой-либо столбец для показа изображения? и вам не нужно использовать 'ExecuteReader' для вставки, используйте [ExecuteNonQuery] (http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlcommand.html#connector-net -examples-mysqlcommand-executenonquery) – Damith
Можете ли вы ввести содержимое столбца? Является ли это файловым путем или это массив байтов, который представляет собой изображение? –