PDA

View Full Version : سوال: مشکل در بازیابی عکس



mbasirati
جمعه 24 دی 1389, 21:18 عصر
سلام به همه اساتید
توی برنامم با ذخیره کردن عکس مشکلی ندارم ولی وقتی میخوام عکسو از توی دیتابیس بازیابی کنم و به عنوان بک گراند یه باتون بذارم این پیغام خطا رو میده
http://i.picasion.com/pic37/45a5fb1fd4795edf883e648e6815a13d.gif
اینم کد:

private void toolStripedit_Click(object sender, EventArgs e)
{

try
{
if (dataGridView1.CurrentRow != null)
{
Ins_Up_Form f2 = new Ins_Up_Form();
MemoryStream mstream = new MemoryStream();
byte[] pic = (byte[])dataGridView1.CurrentRow.Cells[10].Value;
f2.btnloadpic.BackgroundImage = Image.FromStream(mstream);
mstream.Write(pic, 0, pic.Length);
به این خطی که پررنگ کردم گیر میده
مشکل از کجاست؟

javad_r_85
جمعه 24 دی 1389, 23:23 عصر
byte[] content = (byte[])dgvsql.Rows [4].Cells["image"].Value;
MemoryStream stream = new MemoryStream(content);
Bitmap image = new Bitmap(stream);
pictureBox1.Image = image;





یا




byte[] bytimage = new byte[255];

bytimage = (byte[])dgvsql.Rows[4].Cells["image"].Value;
MemoryStream mr = new MemoryStream();
mr.Write(bytimage,0,bytimage.Length);
Stream str=mr;
pictureBox1.Image = Image.FromStream(str);

rezatati
شنبه 25 دی 1389, 08:24 صبح
عزیز دقت کن شما اصلا متغیرmstream رو مقدار دهی نکردی که می خواهی ازش استفاده کنی حالت درست کد تو اینجوری هستش


if (dataGridView1.CurrentRow != null)
{
Ins_Up_Form f2 = new Ins_Up_Form();
byte[] pic = (byte[])dataGridView1.CurrentRow.Cells[10].Value;
MemoryStream mstream = new MemoryStream(pic);
f2.btnloadpic.BackgroundImage = Image.FromStream(mstream);
mstream.Write(pic, 0, pic.Length);

mbasirati
شنبه 25 دی 1389, 18:36 عصر
عزیز دقت کن شما اصلا متغیرmstream رو مقدار دهی نکردی که می خواهی ازش استفاده کنی حالت درست کد تو اینجوری هستش


if (dataGridView1.CurrentRow != null)
{
Ins_Up_Form f2 = new Ins_Up_Form();
byte[] pic = (byte[])dataGridView1.CurrentRow.Cells[10].Value;
MemoryStream mstream = new MemoryStream(pic);
f2.btnloadpic.BackgroundImage = Image.FromStream(mstream);
mstream.Write(pic, 0, pic.Length);

درست نشد:گریه:

Reza_Yarahmadi
شنبه 25 دی 1389, 19:55 عصر
از کدی که دوستمون اصلاح کردند خط زیر رو پاک کنید احتمالا درست میشه.

mstream.Write(pic, 0, pic.Length);

mbasirati
شنبه 25 دی 1389, 21:58 عصر
بذارید کامل توضیح بدم که چیکار میخوام بکنم شاید مشکل از جای دیگه ایه:
من یه فرم دارم که یه دیتاگرید ویو هست که اطلاعات یه جدول رو نشون میده ، برای درج و ویرایش هم فقط یه فرم درست کردم ، وقتی کلید درج رو میزنم فرم باز میشه و من اطلاعات از جمله عکس رو توی جدولم ذخیره میکنم
حالا میخوام برای ویرایش وقتی کلید ویرایش رو میزنم اون سطری که الان توی دیتاگرید ویو انتخاب شده رو تمام اطلاعاتش رو ببره توی یه فرم دیگه (که همون فرم درج هست) و توی تست باکسا نشون بده و عکس رو هم به عنوان بک گراند یه باتون بذاره تا من اطلاعات رو ویرایش کنم
برای درج ، مشکلی ندارم ولی وقتی روی دکمه ویرایش کلیک میکنم این ارور رو میده و اشکال رو هم از همون خطی که پررنگ کرده بودم میگیره
حالا مشکل از کجاست؟