ورود

View Full Version : چگونگی ذخیره کردن تصویر در پایگاه داده



mmssoft
یک شنبه 31 خرداد 1388, 18:28 عصر
چگونگی ذخیره کردن تصویر در پایگاه داده


سلام به همه برنامه نویسای عزیز. تو این تاپیک می خوام آموزش ذخیره کردن تصویر در پایگاه داده رو بهتون آموزش بدم. مطلب رو بخونید؛ چون خیلی به دردتون می خوره :




»قطعاً همه برنامه نویسان مایلند که در برنامه های مربوط به پایگاه داده خود بتوانند تصویر را نیز ذخیره کنند چون این امر یکی از ویژگیهای خوب و کارآمد برنامه خواهد بود . برای همین من این بار می خواهم روش ذخیره کردن تصویر را در پایگاه داده به شما عزیزان آموزش دهم .
» همینطور که شما عزیزان برنامه نویس می دانید در پایگاه داده اکسس نوع مشخصی برای ذخیره کردن تصویر وجود ندارد که ما به طور اختصاصی از آنها استفاده کنیم ولی یک نوع داده به نام OLE Objectوجود دارد که می تواند هر گونه داده ای مانند صدا و تصویر را پشتیبانی کند . برای شروع شما برنامه Access را باز کرده و این فیلد ها را در آن ایجاد نمایید :

ID => AutoNumber

Picture => OLE Object
حال این جدول را با نام Sample ذخیره کنید و پایگاه داده را با نامdb.mdb ذخیره نمایید . حال بدون این که داده ای در در این جدول وارد کنید از Access خارج شده و ویژوال بیسیک عزیز خودمان را باز کنید .
»مواد لازم: ابزارهای مورد نیاز برای کار را به صورت جدول زیر بر روی فرم خود قرار داده و خاصیت های آنها را تنظیم کنید :

نام کنترل

خاصیت DataSource

خاصیت DataField

Data1

-------------

------------

Text1

Data1

ID

Image1

Data1

Picture

نام کنترل

خاصیت Name

خاصیت Caption

Command1

CmdNew

New

Command2

CmdSave

Save

Command3

CmdCancel

Cancel

CommonDialog1

CmDialog

-------
کدهای زیر را برای ایجاد ارتباط با پایگاه داده در Form_Load بنویسید :

()Private Sub Form_Load

"Data1.DatabaseName = App.Path & "\db.mdb

"Data1.RecordSource = "SELECT * FROM Sample

Data1.Refresh

End Sub

»کد باز کردن کادر محاورهای برای انتخاب عکس با دابل کلیک کردن بر روی ImageBox :

()Private Sub Image1_DblClick
"CmDialog1.Filter = "(*.jpg)|*.jpg
CmDialog.ShowOpen
If CmDialog.FileName <> "" Then
(Image1.Picture = LoadPicture(CmDialog.FileName
End If

End Sub

»کد برای ایجاد رکورد جدید :

()Private Sub CmdNew_Click

Data1.Recordset.AddNew

CmdNew.Enabled = False
CmdSave.Enabled = True
CmdCancel.Enabled = True
Call Image1_DblClick

End Sub

» کد برای ذخیره کردن رکورد ایجاد شده :

()Private Sub CmdSave_Click
Data1.Recordset.Update
CmdNew.Enabled = True
CmdSave.Enabled = False
CmdCancel.Enabled = False
Data1.Recordset.MoveLast

End Sub

» کد برای صرفنظر کردن از رکورد ایجاد شده :

()Private Sub CmdCancel_Click
Data1.Recordset.CancelUpdate
CmdNew.Enabled = True

CmdSave.Enabled = False
CmdCancel.Enabled = False

End Sub
نکته : باید توجه داشته باشید که ذخیره کردن تصویر در پایگاه داده ظرفیت آن را به اندازه زیادی افزایش خواهد داد .

:کف::کف::کف: کف کردید مثل این جوجه ها یا نه :کف::کف::کف:
:لبخند::لبخند::لبخند: لطفا تشکر یادتون نره :لبخند::لبخند::لبخند:

Tasiyan
یک شنبه 31 خرداد 1388, 18:35 عصر
دوست عزيز بهتره كد هاتون رو داخل تگ CODE بزاريد تا خوانا تر باشه

SilverGold
جمعه 11 تیر 1389, 01:56 صبح
با adodc هم توضیح می دین ممنون می شم

hossin74
یک شنبه 10 مرداد 1389, 12:16 عصر
سلام.اي كاش طرز خوندن از پايگاه داده رو هم مي نوشتين

mah6951
یک شنبه 10 مرداد 1389, 20:09 عصر
سلام
من با همين روش تصوير در بانك ascess ذخيره كردم براي بازيابي تصاوير و نمايش تصاوير ذخيره شده چه كدي بايد نوشت ؟ ممنون

M.T.P
یک شنبه 10 مرداد 1389, 20:22 عصر
من هیچ تکه کدی که عکس رو تو بانک ذخیره کنه نمیبینم! :گیج:
DataSource کنترل Picturebox رو به Data1 تنظیم میکنید؟ :متفکر:

mah6951
سه شنبه 12 مرداد 1389, 15:21 عصر
با روش بالا میشه تصویر را انتخاب کرد و روی کنترل image که قبلا در فرم طراحی شده گذاشت ولی زمانی که می خواهم ذخیره کنم تصویر در بانک ذخیره نمی شود .خاصیت datasource و datafield برای کنترل image تنظیم کردم .میشه بگید مشکل کجاست؟

bhasoft
جمعه 27 اسفند 1389, 23:25 عصر
اقا سلام.مرسي از اموزش بسيار خوبتون.
فقط اگه ميشه درج و فراخواني تصوير رو هم در vb.net آموزش بدين.
خيلي ممنون ميشم اگه اين كارو بكنين.
چون واقعا برام مهمه...
مرسي
دستتون درد نكنه

kiss_my_l0ve
شنبه 28 اسفند 1389, 14:48 عصر
با روش بالا میشه تصویر را انتخاب کرد و روی کنترل image که قبلا در فرم طراحی شده گذاشت ولی زمانی که می خواهم ذخیره کنم تصویر در بانک ذخیره نمی شود .خاصیت datasource و datafield برای کنترل image تنظیم کردم .میشه بگید مشکل کجاست؟

:قهقهه:خوب معلومه ذخيره نميشه اي داداشمون خيلي به خودش فشار اورد اين كد ها رو نوشت
به ظر من كه از كامپوننت dbimage استفاده كنيين خيلي راحتره

kiss_my_l0ve
شنبه 28 اسفند 1389, 15:22 عصر
اين روش به نظر من راحت ترين روشه
http://up.iranblog.com/images/brw8tjf3o7wayqdvd9h.rar

با حجم 2.91

M_Maskout
یک شنبه 29 اسفند 1389, 09:41 صبح
ذخیره سازی عکس، صدا، فیلم و یا هر چیز دیگه تو بانک اطلاعاتی فقط جالبه! ولی کاربردی نیست.
افزایش چشمگیر حجم بانک که باعث افت سرعت دسترسی به اون می‌شه و امنیت نگهداری بانک رو هم پایین می‌یاره. هر چند این امکان در تقریباً تمام بانک‌های اطلاعاتی وجود داره، ولی بهتره فقط اسم و مسیر عکس‌ها رو تو بانک نگهداری کنین و خود عکس رو بیرون از بانک نگه دارین.

kiss_my_l0ve
دوشنبه 01 فروردین 1390, 11:03 صبح
يه سورس بزاري ممنون ميشم

soheilbehro
چهارشنبه 10 فروردین 1390, 05:03 صبح
با adodc هم توضیح می دین ممنون می شم
با adodc امکان ذخیره مستقیم عکس تو بانک اطلاعاتی نیست و باید مسیر عکس رو ذخیره و نمایش بدی

kiss_my_l0ve
چهارشنبه 10 فروردین 1390, 17:35 عصر
اگه نمونه برنامه اي كه من گذاشتم رو يه نگاه كني ميبيني كه با adodc هم ميشه عكس رو ذخيره كرد

soheilbehro
یک شنبه 04 اردیبهشت 1390, 22:12 عصر
ذخیره سازی عکس، صدا، فیلم و یا هر چیز دیگه تو بانک اطلاعاتی فقط جالبه! ولی کاربردی نیست.
افزایش چشمگیر حجم بانک که باعث افت سرعت دسترسی به اون می‌شه و امنیت نگهداری بانک رو هم پایین می‌یاره. هر چند این امکان در تقریباً تمام بانک‌های اطلاعاتی وجود داره، ولی بهتره فقط اسم و مسیر عکس‌ها رو تو بانک نگهداری کنین و خود عکس رو بیرون از بانک نگه دارین.
عیب این روش هم اینه که امنیت میاد پایین و هر کسی می تونه بره و اون عکس ها رو ببینه و هم مشکل پشتیبان گیری هم پیش میاد که سخت تر میشه
بهترین روش برای ذخیره عکس در بانک اطلاعاتی ، استفاده از بانک اطلاعاتی sql است

pedramsanati
پنج شنبه 30 تیر 1390, 14:27 عصر
ایول اویل این تاپیکو ایول

Javad-2010
سه شنبه 29 فروردین 1391, 08:06 صبح
با سلام؛
اگر بخواهیم عکسی که در دیتابیس ذخیره شده است را بصورت یک فایل داشته باشیم باید چه کار کنیم؟
با تشکر