PDA

View Full Version : سوال: نمایش عکس ذخیره شده در pictureBox



ghasem110deh
پنج شنبه 06 شهریور 1393, 16:49 عصر
سلام ...
من عکس رو با چندتا تکست باکس (در واقع توضیحات اون عکس) رو تو دیتابیس اکسس ذخیره کردم ...
توی فرم دیگه داخل دیتاگریدویو نمایش دادم ... میخوام با کلیک روی هر سطر ... توضیحات + عکس هم عوض بشه
از کد زیر واسه نمایش توضیحات و عکس توی تکست باکس و pictureBox استفاده کردم :


private void PhotoFinder()
{
string query = "SELECT Pic FROM Cam"; // Where ID=@i
Con = new OleDbConnection(Connection);
Con.Open();
Com = new OleDbCommand();
Com.CommandText = query;
// Com.Parameters.AddWithValue("@i", textBox1.Text);
Com.Connection = Con;
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = Com;
DataTable objDataTable = new DataTable();
adapter.Fill(objDataTable);
Con.Close();
byte[] arrPic = (byte[])(objDataTable.Rows[0]["Pic"]);
MemoryStream ms = new MemoryStream(arrPic);
try
{
pictureBox1.Image = Image.FromStream(ms);
}
catch { pictureBox1.Image = null; }
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.Rows.Count > 0)
{
PhotoFinder();
textBox4.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value.ToString();
textBox5.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value.ToString();
textBox6.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[2].Value.ToString();
textBox1.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString();
}
}

متن ها رو نشون میده (عوض میشن)!
ولی تو این حالت فقط عکس اول رو نشون میده ... وقتی هم از Where ID=@i استفاده میکن خطا میده ...
چطوری عکس رو هم با کلیک رو هر سطر از دیتاگردیویو عوض کنم ؟
تشکر ...