PDA

View Full Version : سوال: ذخیره عکس در دیتا بیس



mvb_mehran
پنج شنبه 15 بهمن 1388, 12:59 عصر
با سلام
می خواستم بدونم چجوری عکس رو تو دیتا بیس ذخیره کنم
و در موقع لزوم از آن استفاده کنم
با تشکر :لبخندساده:

shina jun
پنج شنبه 15 بهمن 1388, 14:44 عصر
سلام دوست من
اگه یه سرچ میزدی خیلی در این مورد بحث شده!
پایگاه دادتون چی هست؟
من خودم این کدهارو از اینجا سرچ کردم


از نمونه کدهای زیر جهت نوشتن و خواندن عکس در بانک اطلاعاتی می تونی استفاده کنی.
در این نمونه کد، قصد آن است که تصویر موجود در picturebox1 در بانک اطلاعاتی sql نگهداری شود.
همچنین فرض شده که جدول مربوطه تنها یک فیلد با نام picture و نوع image داره.

این کد برای ذخیره تصویر استفاده مشه.
کد:

Dim ms AsNew MemoryStream()
PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
Dim arrImage() AsByte = ms.GetBuffer

ms.Close()

Dim myConnection AsNew SqlConnection(connectionString)
Dim strSQL AsString = "INSERT INTO Picture ( Picture) VALUES (@Picture)"

Dim cmd AsNew SqlCommand(strSQL, myConnection )
cmd.Parameters.Add(New SqlParameter("@Picture",SqlDbType.Image)).Value = arrImage

myConnection .Open()
cmd.ExecuteNonQuery()
myConnection .Close()

و اما برای نمایش مجدد تصویر در picturebox
کد:

Dim arrPicture() AsByte = CType(dsPictures.Tables(0).Rows(?)("Picture"), Byte())
Dim ms AsNew MemoryStream(arrPicture)
With PictureBox2
.Image = Image.FromStream(ms)
.SizeMode = PictureBoxSizeMode.StretchImage
.BorderStyle = BorderStyle.Fixed3D
EndWith

نمونه کد بالا تصویر رو از بانک نمایش می ده.
همچنین در این کد، تصویر مربوطه در رکورد ؟ ذخیره شده.
فکر نمی کنم کدها نیازی به توضیح بیشتری داشته باشن.

این نمونه ها هم شاید بدردت بخوره

mvb_mehran
پنج شنبه 15 بهمن 1388, 15:12 عصر
خیلی ممنون
پایگاه داده = Access
با تشکر فراوان

kharabati
جمعه 16 بهمن 1388, 11:46 صبح
دستتون درد نکنه جالب بود.
اما من یه مشکل دیگه هم دارم واونم اینه که چطور میشه این عکس رو از اسکنر دریافت کرد. در بانک ذخیره کرد.
اگه راهکاری دارید کمک کنید ممنون میشم.

mvb_mehran
جمعه 16 بهمن 1388, 18:57 عصر
باشه اگه پیداش کردم .
موفق باشی