تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف أحمد مناع في السبت فبراير 09, 2013 1:03 pm

بسم الله الرحمن الرحيم
أهلا وسهلا بكم أخوانى الكرام فى منتدى مصر التقنى .... اليوم أقدم لكم درس جديد لنتعلم سوية كيف حفظ الصورة فى حقل ما داخل أحد جدوال قاعدة بيانات أكسس ....وذلك على النحو التالى :

الخطوة الاولى : قم بإنشاء قاعدة بيانات و ليكن BLOB مثلا و بها جدول و ليكن employee مثلا ...ثم انشىء الحقول التى ترغب فيها مع مراعاة أن يكون الحقل الذى سوف يتم حفظ الصورة فية من نوع OLE Object كما فى الصورة التالية :





الخطوة الثانية : قم بفتح الفجوال بيسك ثم أختيار مشروع جديد ...وقم بأنشاء نافذة كما فى الشكل التالى أو كما يحلو لك :


الخطوة الثالثة : قم بأدراج المكتبة Microsoft ActiveX Data Objects 2.5 Library فما فوق ...لانك لو أستخدمت أقل من هذا الاصدار لن تستطيع حفظ الصورة أو أسرجاعها

الخطوة الرابعة : قم بأدراج الاداة Microsoft Common Dialog Control 6.0 لاستعراض الصورة من جهازك .

الخطوة الخامسة : كتابة الاكواد لحفظ الصورة فى قاعدة البيانات وذلك على النحو التالى :

1_ فى قسم التصريحات نقوم بكتابة الاكواد الخاصة بفتح قاعدة البيانات و الجدول و ايضا نقوم بتعريف متغير لحفظ مسار الصورة فية على النحو التالى :

الرمز:
Dim cnnEmp As ADODB.Connection
Dim rsEMP As ADODB.Recordset

Dim fileName As String


2_ فى حدث الضغط على مربع الصورة Picturebox نكتب الكود التالى و ذلك لفتح المربع الحوارى لاختيار صورة من الجهاز و ذلك على النحو التالى :

الرمز:
    cdgPhoto.Filter = "(*.bmp;*.ico;*.gif;*.jpg)|*.bmp;*.ico;*.gif;*.jpg"
    cdgPhoto.ShowOpen
   
    fileName = cdgPhoto.fileName
   
    If fileName <> "" Then
        Set imgPhoto.Picture = LoadPicture(fileName)
    End If

ويجب ان تلاحظ أننا فى الكود السابق حددنا أمتداد الصور و انواعها التى يجب أن تظهر للمستخدم و ذلك عن طريق الامر Filter للاداة CommonDialog ثم فتحنا المربع الحوارى ثم جعلنا المتغير fileName يساوى مسار الصورة المختارة ...و أخيرة تطبيق الصورة و اظهارها فى مربع الصورة imgPhoto


3 _ زر الامر (حفظ ) سنقوم بكتابة الكود التالى :

الرمز:

        Dim smEmp As ADODB.Stream
        Set smEmp = New ADODB.Stream
     
        smEmp.Type = adTypeBinary
        smEmp.Open
     
        smEmp.LoadFromFile fileName
     
        If smEmp.Size > 0 Then
            'Save the Employee Information
            rsEMP.AddNew
            rsEMP("FirstName") = txtFName
            rsEMP("MiddleName") = txtMName
            rsEMP("LastName") = txtLName
            rsEMP("SSN") = txtSSN
            rsEMP("Photo") = smEmp.Read
            'Update the data
            rsEMP.Update
            'Clear the form
            ClearFields
       
            MsgBox "Employee Information Saved Successfully"
        Else
            MsgBox "The Employee's Photo is not valid"
        End If
       
     
        smEmp.Close
        Set smEmp = Nothing



السطر الاول و الثانى ...قمنا بإنشاء الكائن stram object و الذى سيقوم بحفظ الصورة فى قاعدة البيانات

السطر الثالث و الرابع...جعل الكائن stram object من نوع بيانات ثنائى binary data وذلك لنستطيع فتح و حفظ الصورة فى تلك الهيئة .

السطر الخامس
...تحميل محتوى الصورة الى الكائن stram object

السطر السادس ...التحقق من حجم محتوى الكائن stram object فإن كان أكبر من الصفر معنى ذلك وجودة صورة بالكائن و ذلك لتفادى الخطأ فى حالة عدم أختيار صورة

الاسطر من السابع وحتى الحادى عشر ....هى فتح سجل جديد فى جدول employee و اضافة كافة حقول الجدول مثل الاسم الاول و الثانى ووالاخير حتى الصورة الخاصة بالموظف ثم حفظ تلك البيانات فى ها الجدول .

وبهذا نكون قد انتهيانا من حفظ بيانات و و صورة الموظف على النحو المبين أعلاه ....


الخطوة السادسة ...أسترجاع الصورة المخزنة فى قاعدة البيانات و ذلك عن طريق إنشاء إجراء يقوم بقرائه الصورة و التى هى على شكل بيانات ثنائية فى قاعدة البيانات ثم بعد ذلك يقوم بتحويلها وإنشاء صورة مؤقته فى مجلد البرنامج و من ثم أستخدامها فى عنصر التحكم imgPhoto وذلك على النحو التالى :


الرمز:
Private Sub ReadPictureData()
               
    Dim diskFile As String
    diskFile = App.Path & "\temp\emp.bmp"
         
 
    Dim smEmp As ADODB.Stream
    Set smEmp = New ADODB.Stream
   
    smEmp.Type = adTypeBinary
    smEmp.Open
   
 
    smEmp.Write rsEMP.Fields("Photo").Value
   
    If smEmp.Size > 0 Then
       
            smEmp.SaveToFile diskFile, adSaveCreateOverWrite
     
              imgPhoto.Picture = LoadPicture(App.Path & "\temp\emp.bmp")
    Else
        MsgBox "Error reading the Photo"
    End If
   
    'Close and destroy the stream object
    smEmp.Close
    Set smEmp = Nothing
   
   
End Sub


قمنا بإنشاء الاجراء ReadPictureData و يحتوى على الاسطر التالية :


السطر الاول و الثانى
....قمنا بإنشاء المتغير diskFile و ذلك لحفظ المسار الذى سيحتوى على الصور المؤقتة و التى سيتم إنشائها من قاعدة البيانات .


السطر الثالث و الرابع و الخامس و السادس ......قمنا بإنشاء الكائن stram object و الذى سيقوم استرجاع الصورة من قاعدة البيانات و تحديد نوع البيانات التى تم حفظها وهى من نوع Binary

السطر السابع ...تحميل بيانات الصورة الثانية binary image المخزنة فى الحقل Photo الى الكائن stram object

السطر الثامن و التاسع ...جملة شرطية للتحقق من وجودة بيانات ثنائية فى هذا الحقل فإن تم التحقق من ذلك نجل البرنامج يقوم بتحويل تلك البيانات أو الصورة الى صورة مؤقته فى المجلد temp الموجود فى مجلد مشروعنا

السطر العاشر .... تحميل و استخدام تلك الصورة فى مربع الصورة imgPhoto

و اخيرا أغلاق الكائن stram object ومن ثم إنهاء الاجراء ....بعد ذلك يمكنك أستخدام هذا الاجراء فى حدث التنقل بين السجلات و ستجد أن لك صورة تم حفظها لموظف سيتم عرضها فى مربع الصورة imgPhoto على النحو التالى :




و اليكم المشروع فى المرفقات

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف NEXT في السبت فبراير 09, 2013 6:47 pm


درس رائع يا ريس ....ربنا ما يحرمنا منك

NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 378
التقيم : 10
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف 2NEXT في الثلاثاء يونيو 04, 2013 9:19 am

مشكووووووووووووووووووووووووووووووووووووووووووووووووور

2NEXT
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

تشكر اخي

مُساهمة من طرف sadek al badany في الخميس أغسطس 29, 2013 3:30 pm

بس اتمنى يكون هذى المثال ب vb.net لا ني اريدة هذة المثال بس vb.net

sadek al badany
.
.

تاريخ التسجيل : 29/08/2013
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : اليمن
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف أحمد مناع في الخميس أغسطس 29, 2013 8:57 pm

sadek al badany كتب:بس اتمنى يكون هذى المثال ب vb.net لا ني اريدة هذة المثال بس vb.net
تفضل أخى الكريم .....هذا الدرس من اجلك

http://egy-tech.forumegypt.net/t594-topic#1543

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

شكر

مُساهمة من طرف ???? في السبت أغسطس 31, 2013 5:52 pm

مشكور على الموضوع الرائع

????
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف hanch في الجمعة مارس 14, 2014 8:00 pm

مشكور على الموضوع الرائع

hanch
.
.

تاريخ التسجيل : 15/06/2013
المساهمات : 5
النقاط : 5
التقيم : 0
الدولة : المغرب
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف ناصر المقدسي في الأحد يوليو 27, 2014 1:08 pm

بارك الله فيك أخي الكريم على هذه المجهودات الرائعة..

لو تكرمت أخي أن تضع لنا رابط المشروع ...وجزيت خيرا.

ناصر المقدسي
.
.

تاريخ التسجيل : 27/07/2014
المساهمات : 1
النقاط : 1
التقيم : 0
الدولة : السعودية
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف magdy_sabra في الإثنين ديسمبر 15, 2014 4:31 pm

جزالك الله كل خير

magdy_sabra
.
.

تاريخ التسجيل : 14/12/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف magdy_sabra في الأربعاء ديسمبر 24, 2014 6:05 pm

فين يا اخى رابط للمشروع

magdy_sabra
.
.

تاريخ التسجيل : 14/12/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف NEXT في الخميس ديسمبر 25, 2014 7:09 pm

رابط المشروع

http://zakyshny.eu5.org/kleeja/uploads/egy-tech14195345151.rar

NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 378
التقيم : 10
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

جهد مشكور

مُساهمة من طرف alnilensf في الأحد يناير 31, 2016 10:53 am

اخب العزيز, بارك الله فيك على جهودك

alnilensf
.
.

تاريخ التسجيل : 09/01/2016
المساهمات : 4
النقاط : 4
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف salamfaraj2002 في الأحد فبراير 07, 2016 12:50 am

منك نستفيد 
رائع من اروع مبدع

salamfaraj2002
....
....

تاريخ التسجيل : 18/04/2015
المساهمات : 54
النقاط : 68
التقيم : 0
الدولة : ليبيا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object

مُساهمة من طرف asasas في الثلاثاء فبراير 23, 2016 6:53 pm

احسنت اخي

asasas
.
.

تاريخ التسجيل : 23/01/2016
المساهمات : 7
النقاط : 7
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى