PDA

View Full Version : سوال: ویرایش تصاویر ذخیره شده در database با استفاده از linq



mohammad kafiyan
دوشنبه 14 شهریور 1390, 20:35 عصر
با سلام به دوستان

من با استفاده ازlinq to sql قصد ویرایش تصاویر مربوط به رکورد مورد نظر دارم که با مشکلات زیر مواجهه شدم

من در یکی از فرم ها یم یک datagirdview دارم که وقتی روی سطری از گرید datagirdview کلیک می کنم و بر روی دگمه ویرایش کلیک می کنم فرم دیگری برایم باز شده که شامل 2 عددpictuerbox می باشد ، تصاویر مربوط به آن رکورد توسط کد زیر در pictuerbox ها نمایش می دهم




var Query = amlak.pictuer_amlak_ejareh();(یک تابع است برای نمایش تصاویر)

byte[] arrPicture;
MemoryStream ms;

arrPicture = ((byte[])(Query.image1.ToArray()));
ms = new MemoryStream(arrPicture);
frm.pictureBox1.Image = Image.FromStream(ms);
frm.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
frm.textBox17.Text = Query.name_pic1;

arrPicture = ((byte[])(Query.image2.ToArray()));
ms = new MemoryStream(arrPicture);
frm.pictureBox2.Image = Image.FromStream(ms);
frm.pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
frm.textBox18.Text = Query.name_pic2;
ms.Close();



و بعد از آن تصاویر را ویرایش میکنم ( انتخاب تصاویر ) و دگمه ویرایش را می زنم و با موفقیت عملیات ویراش در table تصاویر انجام میشه .

ولی دو مشکل برایم پیش آمده

کد مربوط به ویرایش :




pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrImage = ms.GetBuffer();
amlak.Name_pic1 = textBox17.Text;
amlak.Path_pic1 = arrImage;
ms.Close();
pictureBox2.Image.Save(ms1, pictureBox2.Image.RawFormat);
arrImage = ms1.GetBuffer();
amlak.Name_pic2 = textBox18.Text;
amlak.Path_pic2 = arrImage;
ms1.Close();
amlak.pic_update(1);





1- وقتی دوباره از فرم ، از datagirdview روی همان سطر رکورد که تصاویر آنرا ویرایش کردم از گرید datagirdview کلیک می کنم و بر روی دگمه ویرایش کلیک می کنم فرم برایم باز شده که باز همان تصاویر مربوط به آن رکورد به صورت تکراری نمایش داده می شود در صورتی که در بالا توضیح دادم تصویر دیگری را انتخاب کردم و عملیات ویراش با موفقیت انجام شده
در ضمن وقتی که از بزنامه خارج می شم و دوباره برنامه اجرا می کنم وبروی همان رکورد که تصویر آنرا عوض کردم کلیک کنم به درستی توصیر عوض شده را نمایش می دهد


2- و مشکل دیگر هم این است که اگر تصویر مربوط به pictuerbox1 را عوض کنم و pictuerbox2 را عوض نکنم و دگمه ویرایش را کلیک کنم با پیغام خطای زیر مواجهه می شوم در صورتی برعکس آنرا عمل کنم خطا نمی گیرد

A generic error occurred in GDI+.

ahrimaneahurai
دوشنبه 14 شهریور 1390, 22:12 عصر
http://barnamenevis.org/showthread.php?303468-%D8%A8%D8%A7%D8%B2%D9%8A%D8%A7%D8%A8%D9%8A-%D8%B9%D9%83%D8%B3-%D8%A7%D8%B2-%D8%AF%D9%8A%D8%AA%D8%A7%D8%A8%D9%8A%D8%B3-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-LINQ&p=1331651&viewfull=1#post1331651

mohammad kafiyan
دوشنبه 14 شهریور 1390, 23:45 عصر
سلام دوست عزیر جناب آقای ahrimaneahurai (http://barnamenevis.org/member.php?97515-ahrimaneahurai) مطالب تاپیک را دقیق مطالعه کردید و منظور من را متوجه شدید یا نه . در ضمن این تایپیک را قبلا دیده بودم ولی مشکل من چیز دیگری است (http://barnamenevis.org/member.php?97515-ahrimaneahurai)

mohammad kafiyan
سه شنبه 15 شهریور 1390, 13:48 عصر
سلام به دوستان کسی به مشکل تا به حال بر نخورده

code_project
چهارشنبه 15 آذر 1391, 20:13 عصر
آقا توراخدا یکی کمک کنه. الانیک هفته است که من هم مشکل شماره 2 این دوستمون رادارم(GDI+). کسی راه حلی براش نداره؟ اصلا چرا این خطا بوجود میاد؟