PDA

View Full Version : مبتدی: بازيابي عكس از ديتابيس با استفاده از LINQ



panahgah
شنبه 12 شهریور 1390, 21:40 عصر
عكسي رو كه در ديتابيس ذخيره كردم ميخوتستم بازيابي كنم با استفاده از llinq اما نمي شه ؟ چه طور مي شه اين كار رو كرد ؟

mehdi.mousavi
یک شنبه 13 شهریور 1390, 11:01 صبح
عكسي رو كه در ديتابيس ذخيره كردم ميخوتستم بازيابي كنم با استفاده از llinq اما نمي شه ؟ چه طور مي شه اين كار رو كرد ؟
[/URL]

سلام.
لطفا به [URL="http://beyondrelational.com/blogs/community/archive/2010/08/17/how-to-save-and-retrieve-images-using-linq-to-sql-with-sql-compact.aspx"]این آدرس (http://msdn.microsoft.com/en-us/library/system.data.linq.binary.aspx) رجوع کنید (به نحوه تبدیل Byte Array به Image دقت کنید).

موفق باشید.

panahgah
یک شنبه 13 شهریور 1390, 14:17 عصر
دوستان موضوع خيلي ساده بود ، اما هيچ كسي به اون جواب نداد :چشمک: . من جواب رو پيدا كرد . :لبخند:

وقتي كه از LINQ استفاده مي كنيد و type مورد نظرتون رو درSQL server ، به صورت image قرارداديد . LINQ تصوير شما رو به صورت Binary در ديتابيس ذخيره مي كنه . كه در نتيجه شما نمي تونيد اون رو توسط byte [] بخونيد .ولي وقتي كه بخوايد اونو توي PictureBox بذاريد ، حتما بايد byte[] باشه. در اينجا بايد از كد زير استفاده كنيد .

در ابتدا او توسط يك كوئري تصوريرتون رو بخونيد بعد :


System.Data.Linq.Binary fileBinary = E.Photo;
byte[] imageData = fileBinary.ToArray();

بقيه رو هم خودتون بهتر از من بلديد .:تشویق:


Image newImage;
using (MemoryStream ms = new MemoryStream(imageData, 0, imageData.Length))
{
ms.Write(imageData, 0, imageData.Length);
newImage = Image.FromStream(ms, true);
}
PictureBox1.Image = newImage;