PDA

View Full Version : نمایش عکس با کلیک بر روی datagrid



saeedvbm
شنبه 28 تیر 1393, 19:07 عصر
این کد عکس رو وقتی که کلیک میکنی روی گرید ویو نشون میده ، مشکلم اینه که شرطش id =1 من میخوام id مساوی رکورد انتخابی باشه
SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT image FROM img WHERE id=1 ", sc));
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);

if (dataSet.Tables[0].Rows.Count == 1)
{
Byte[] data = new Byte[0];
data = (Byte[])(dataSet.Tables[0].Rows[0]["image"]);
MemoryStream mem = new MemoryStream(data);
myPictureBox.Image = Image.FromStream(mem);

}
اساتید اگه کمک کنن ممنون میشم

khokhan
شنبه 28 تیر 1393, 19:30 عصر
این کد عکس رو وقتی که کلیک میکنی روی گرید ویو نشون میده ، مشکلم اینه که شرطش id =1 من میخوام id مساوی رکورد انتخابی باشه
SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT image FROM img WHERE id=1 ", sc));
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);

if (dataSet.Tables[0].Rows.Count == 1)
{
Byte[] data = new Byte[0];
data = (Byte[])(dataSet.Tables[0].Rows[0]["image"]);
MemoryStream mem = new MemoryStream(data);
myPictureBox.Image = Image.FromStream(mem);

}
اساتید اگه کمک کنن ممنون میشم
می تونی فیلد عکس رو از گرید بخونی و توی قاب عکس نمایش بدی
با این وجود جواب سوالتون بایستی یه همچی چیزی باشه


foreach (DataGridViewRow row in dataGridView1.SelectedRows) {
int ID =int.Parse( row.Cells[0].Value.ToString());
SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT image FROM img WHERE id='" + ID + "' ", sc));
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);


if (dataSet.Tables[0].Rows.Count == 1)
{
Byte[] data = new Byte[0];
data = (Byte[])(dataSet.Tables[0].Rows[0]["image"]);
MemoryStream mem = new MemoryStream(data);
myPictureBox.Image = Image.FromStream(mem);


}

}

saeedvbm
یک شنبه 29 تیر 1393, 08:54 صبح
عمل نمی کنه ، ولی هیچ خطایی هم نمیده !

saeedvbm
دوشنبه 30 تیر 1393, 14:52 عصر
چی شد ، کسسییییییییییی نبوووووووووودددددددددد؟

saeedvbm
سه شنبه 31 تیر 1393, 08:38 صبح
این کد به صورت زیر اصلاح شد ، فقط مشکل اینجاست که یه عکس قبل رو نشون میده ، لطفاً دوستانی که بلدن راهنمایی کنن :گریه:
SqlCommand cmd = new SqlCommand();
cmd.Connection = sc;
cmd.CommandText = ("select image from img where id =@id");
cmd.Parameters.AddWithValue("@id", textBox1.Text);

var da = new SqlDataAdapter(cmd);
var ds = new DataSet();
da.Fill(ds, "image");
int count = ds.Tables["image"].Rows.Count;

if (count > 0)
{
var data = (Byte[])(ds.Tables["image"].Rows[count - 1]["image"]);
var stream = new MemoryStream(data);
myPictureBox.Image = Image.FromStream(stream);
}

saeedvbm
پنج شنبه 02 مرداد 1393, 16:12 عصر
کسی نیست که جواب این سوال رو بدونه ، آیییییییی ایها الناس ، کمممممک !!!:گریه::گریه::گریه:

juza66
پنج شنبه 02 مرداد 1393, 17:15 عصر
شما می خواهید بعد از ثبت اطلاعات و عکس شخصی بلافاصله بعد از ثبت و خروج فرم اطلاعات اون شخص بهمراه عکس انتخاب بشه؟!

saeedvbm
جمعه 03 مرداد 1393, 17:03 عصر
بله همینطوره ؟

امیر مهرشاد
پنج شنبه 09 مرداد 1393, 08:59 صبح
بهترین راه ساده اینه که قبل ذخیره بیای مسیر عکسی رو هم که میخوای مربوط به یک شخص هست رو بگیری چون احتمال داره که هر عکس شخص از جاهای مختلف کامپیوتر انتخاب بشه برای مرتب شدن کار میایی در حین ذخیره یک پوشه در کنار فایل اجراییت قرار میدی و همه عکسها رو با آیدی یا اسم ذخیره میکنی و این آدرس رو در دیتابیست ذخیره کتن در موقع نمایش روی گریدت هم بخاطر اینکه آدرس دیده نشه (چون یکمی ضایست) اونو توی یک رشته میریزی و صداش میزنی:لبخند: