bazardeh
یک شنبه 14 فروردین 1390, 20:10 عصر
سلام
من در sql عکس را ذخیره می کنم و وقتی می خواهم از sql بگیرم و در یک pictureBox نمایش دهم کاری که من انجام دادم اینه که اول در یک dataGridView نمایش می دهم بعد با دستور
textBox5.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
متون را در هر جایی که می خواهم می برم یا براساس آن دستور می نویسم اما برای عکس گیر کردم کدی که به نظم آمد اینه
pictureBox1.Image = Image.FromFile(dataGridView1.CurrentRow.Cells[9].Value.ToString());// SqlDbType.Binary
لطفاً کمک کنید دستون درد نکنه :لبخندساده:
Directx
دوشنبه 15 فروردین 1390, 01:30 صبح
دوست عزیز شما بهتره که بیایید و یه منبع داده ای مثلا یه data set تعریف کنید و اطلاعات رو بریزید تو اون حالا فایل باینری عکس رو از منبع داده ای بگیرید و تو یه stream بریزید و سپس از دستور image.fromstream استفاده کنید
bazardeh
دوشنبه 15 فروردین 1390, 10:16 صبح
سلام
من برای ذخیره عکس به این صورت از pictureBox گرفتم و در sql ذخیره کردم
if (pictureBox1.Image == null)
pictureBox1.Image = Image.FromFile(@".\User-man.png");
MemoryStream ms = new MemoryStream(); // io قرار دارد در
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrImage = ms.GetBuffer();
ms.Close();
con.Open();
SqlCommand cm = new SqlCommand("insert into student(codstu,name,fname,namefa,codmali,addres,pi c,yeartavalod,tell,monthtavalod,daytavalod)values( @1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11)");
cm.Connection = con;
cm.Parameters.Clear();
cm.Parameters.AddWithValue("@1", textBox4.Text);
cm.Parameters.AddWithValue("@2", textBox1.Text);
cm.Parameters.AddWithValue("@3", textBox2.Text);
cm.Parameters.AddWithValue("@4", textBox3.Text);
cm.Parameters.AddWithValue("@5", textBox5.Text);
cm.Parameters.AddWithValue("@6", textBox6.Text);
cm.Parameters.AddWithValue("@7", SqlDbType.Binary).Value = arrImage;
cm.Parameters.AddWithValue("@8", numinsert.Text);
cm.Parameters.AddWithValue("@9", textBox8.Text);
cm.Parameters.AddWithValue("@10", cmbmonthbinsert.Text);
cm.Parameters.AddWithValue("@11", cmbdayinsert.Text);
cm.ExecuteNonQuery();
MessageBox.Show("مشخصات دانش آموز جدید با موفقیت ثبت شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
con.Close();
و حالا می خواهم از sql دریافت کنم و در pictureBox نمایش دهم که هر چی سعی کردم نشد و فقط توانستم در dataGridView ببینم که ذخیره شده
با تشکر
bazardeh
دوشنبه 15 فروردین 1390, 12:08 عصر
لطفاً راهنمایی کنید :لبخندساده:
bazardeh
دوشنبه 15 فروردین 1390, 16:57 عصر
آیا این موضوع امکان دارد ؟؟
آیا عملی است ؟؟
:ناراحت: ؟؟
bazardeh
دوشنبه 15 فروردین 1390, 18:28 عصر
آیا روشی وجود دارد لطفاً کمک کنید :گریه:
ahrimaneahurai
دوشنبه 15 فروردین 1390, 19:33 عصر
همون که میاری توی گرید ویو بعد از این کد استفاده کن.
من خودم از این استفاده می کنم. البته من با گرید جانوس کار میکنم
if (gridEX1.GetRow(gridEX1.Row).Cells["Pic"].Value != null)
{
byte[] bmp = (byte[])gridEX1.GetRow(gridEX1.Row).Cells["Pic"].Value;
using (System.IO.MemoryStream stream = new System.IO.MemoryStream(bmp))
{
Bitmap image = new Bitmap(stream);
pictureBox1.Image = image;
}
}
else
pictureBox1.Image = null;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.