چهارشنبه بيست و چهارم اسفند 1384 ساعت 21:12
ذخیره کردن تصویر در پایگاه داده
»
قطعاً همه برنامه نویسان مایلند که در برنامه های مربوط به پایگاه داده خود بتوانند تصویر را نیز ذخیره کنند چون این امر یکی از ویژگیهای خوب و کارآمد برنامه خواهد بود . برای همین من این بار می خواهم روش ذخیره کردن تصویر را در پایگاه داده به شما عزیزان آموزش دهم .»
همینطور که شما عزیزان برنامه نویس می دانید در پایگاه داده اکسس نوع مشخصی برای ذخیره کردن تصویر وجود ندارد که ما به طور اختصاصی از آنها استفاده کنیم ولی یک نوع داده به نام OLE Object وجود دارد که می تواند هر گونه داده ای مانند صدا و تصویر را پشتیبانی کند . برای شروع شما برنامه Access را باز کرده و این فیلد ها را در آن ایجاد نمایید :ID
=> AutoNumberPicture
=> 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 IfEnd Sub
»
کد برای ایجاد رکورد جدید : ()Private Sub CmdNew_Click Data1.Recordset.AddNew CmdNew.Enabled = False CmdSave.Enabled = True CmdCancel.Enabled = True Call Image1_DblClickEnd Sub
»
کد برای ذخیره کردن رکورد ایجاد شده : ()Private Sub CmdSave_Click Data1.Recordset.Update CmdNew.Enabled = True CmdSave.Enabled = False CmdCancel.Enabled = False Data1.Recordset.MoveLastEnd Sub
»
کد برای صرف نظر کردن از رکورد ایجاد شده : ()Private Sub CmdCancel_Click Data1.Recordset.CancelUpdate CmdNew.Enabled = True CmdSave.Enabled = False CmdCancel.Enabled = FalseEnd Sub
نکته : باید توجه داشته باشید که ذخیره کردن تصویر در پایگاه داده ظرفیت آن را به اندازه زیادی افزایش خواهد داد .»
برای درک بهتر مطلب گفته شده شما می توانید از برنامه نمونه استفاده کنید .