تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
قراءة بيانات الصورة من قاعدة بيانات أكسس إلى أداة PictureBox
#1
Exclamation 
السلام عليكم أخوني الأعزاء

أريد من فضلكم التعديل على المثال المرفق لقراءة بيانات الصورة من قاعدة بيانات أكسس إلى أداة PictureBox
بدلا من عرضها على برنامج خارجي .

المثال المرفق هو من هذا المنتدى ، ولكني أريد منكم فقط تعديله ليتناسب مع متطلباتي !


وشكرا لكم مقدما .


الملفات المرفقة
.rar   Store And Retrieve Files.rar (الحجم : 1.09 م ب / التحميلات : 50)
الرد }}}
تم الشكر بواسطة: سعود , ابراهيم ايبو
#2
(19-07-22, 06:58 PM)أبو خالد الشكري كتب : السلام عليكم أخوني الأعزاء

أريد من فضلكم التعديل على المثال المرفق لقراءة بيانات الصورة من قاعدة بيانات أكسس إلى أداة PictureBox
بدلا من عرضها على برنامج خارجي .

المثال المرفق هو من هذا المنتدى ، ولكني أريد منكم فقط تعديله ليتناسب مع متطلباتي !


وشكرا لكم مقدما .
و عليكم السلام و رحمة الله و بركاته
تفضل
كود :
Private Sub button2_Click(sender As Object, e As EventArgs) Handles button2.Click

       '--------------------------------------
       ' PictureBox1 المطلوب عرض الصورة في
       '--------------------------------------

       ' التحقق اذا كان الداتا جريد ممتلئة ام فارغة لتنفيذ كود فتح الملف
       If (dataGridView1.RowCount > 0) Then
           ' تحويل الكود المسجل بقاعدة البيانات الى ملف
           Dim ff() As Byte = CType(dt.Rows(DgId)(3), Byte())
           Dim FPath = Application.StartupPath & "\" & dt.Rows(DgId)(1).ToString() & dt.Rows(DgId)(2).ToString()
           Dim FFS As FileStream = New FileStream(FPath, FileMode.Create, FileAccess.Write)
           FFS.Write(ff, 0, ff.Length)
           FFS.Close()
           ' تنفيذ فتح الملف بعد انشائه بالكود السابق
           ''Process.Start(FPath)
           PictureBox1.Image = Image.FromFile(FPath)
       Else
           ' رسالة تنبيه بان الداتا جريد فارغة
           MsgBox("Please Add Any Data So You Can Open File Selected.")
       End If
   End Sub
الرد }}}
#3
جراك الله خيراً خي العزير asmarsoy
بصراحة ما قصرت بارك الله فيك
سوف أجرب الحل الذي أرسلته لي وأخبرك بالنتيجة .
الرد }}}
تم الشكر بواسطة: asmarsou , سعود , سعود , ابراهيم ايبو , حسن الجلب
#4
السلام عليكم يا أستاذ asmarsou
السلام عليكم أيها الجماعة الحاضرون

بعد التجربة وجدت أن هذا الكود يقوم بنسخ الصورة (التي تم النقر عليها ) في مسار البرنامج
ثم يعرض الصورة من مسار البرنامج في ( PictureBox)  !

أنا ما كان قصدي كذا أبدا أبدا ...

أنا قصدي أريد الكود يقرأ بيانات الصورة من قاعدة البيانات مباشرة 

يعني الكود يجب أن يقوم بقراءة قيمة الحقل 0  في (DataGridView )والذي يكون مسجلا في قاعدة البيانات في الحقل المسمى id
والصورة تكون محفوظة في قاعدة البيانات في الحقل المسمى Attachment
الرد }}}
تم الشكر بواسطة: asmarsou , سعود , ابراهيم ايبو
#5
اخي الكريم اعتذر لعدم تعديلي على المثال اللي انت رفعت لكن عملت مثال بسيط :


دبل كليك على الصورة لاضافة صورة ثم زر حفظ او تعديل

يوجد خطا فظيع في مثالي ان لم تكتشفه اخبرني ... تذكرته الحين.


الملفات المرفقة
.zip   ImagesSaveAndShow.zip (الحجم : 41.03 ك ب / التحميلات : 46)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: asmarsou , ابراهيم ايبو , ابراهيم ايبو
#6
مرحبا بك أستاذ سعود

نورت الموضوع

شكرا جزيلا لك على المشاركة في حل المطلوب .

لكن للأسف تهت في الأكواد التي في التطبيق الذي أرسلته لي .


أنا فقط أريد التعديل في الكود السابق في زر واحد فقط ، وهو زر عرض الصورة

أرجو منكم جميعا عصر أفكاركم النيرة بالخروج بكود مناسب يمكنه قراءة بيانات الصورة من قاعدة البيانات مباشرة .

فليس مجديا أن يمتلئ الهاردسك بالصور التي أحفظها في قاعدة البيانات 
بمعنى آخر أنه كلما أردت استعراض صورة يقوم البرنامج أولا بنسخ الصورة في الهارسك ، ثم يقرأها من الهاردسك ويضعها في PictureBox
الرد }}}
تم الشكر بواسطة: سعود , سعود , ابراهيم ايبو
#7
إقتباس :أنا فقط أريد التعديل في الكود السابق في زر واحد فقط ، وهو زر عرض الصورة
تصدق اني شفت المثال وحاولت افهمه ماقدرتSad
فين زر عرض الصورة؟

https://i.postimg.cc/5tNNbMXZ/000.png

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

PHP كود :
       pic.DataBindings.Add("image"dt"picbyte"True
العمود picbyte  من نوع كائن ole
pic = هي مربع صورة PictureBox
dt = هي داتا تيبل DataTable

حليت المشكلة او الخطا و ذلك باضافة زر جديد للحفظ و تكون مهمة ازرار الجديد والتعديل فقط تهيئة و يكون زر الحفظ هو المسؤول عن طلب الاجراءات.


الملفات المرفقة
.zip   ImagesSaveAndShow.zip (الحجم : 41.26 ك ب / التحميلات : 33)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#8
شكرا أستاذي جزاك الله خيرا 
حقيقة أيضًا لم أتمكن من تتبع الأكواد في التطبيق الذ أرسلته لي .

ولكن عملت حيلة بسيطة Smile وهي أني أقوم بحذف ملف الصورة مباشرة بعد أن أقوم بعرضها في PictureBox
وبهذه الطريقة ارتحت من مسألة تكدس الصور المحفوظة في مجلد البرنامج .
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#9
(20-07-22, 02:23 AM)أبو خالد الشكري كتب : شكرا أستاذي جزاك الله خيرا 
حقيقة أيضًا لم أتمكن من تتبع الأكواد في التطبيق الذ أرسلته لي .

ولكن عملت حيلة بسيطة Smile وهي أني أقوم بحذف ملف الصورة مباشرة بعد أن أقوم بعرضها في PictureBox
وبهذه الطريقة ارتحت من مسألة تكدس الصور المحفوظة في مجلد البرنامج .

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

شوف الحدث هذا:
PHP كود :
dataGridView1_CellClick 
عدل الكود اللي فيه الى:
PHP كود :
       Dim b() As Byte Me.dataGridView1.Rows(e.RowIndex).Cells(3).Value
        Dim ms 
As New MemoryStream(b)
 
       Me.PictureBox1.Image Image.FromStream(ms



الملفات المرفقة
.zip   Store And Retrieve Files.zip (الحجم : 552.55 ك ب / التحميلات : 48)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#10
التعديل على اجراء GetLoadData
PHP كود :
Private Sub GetLoadData()
 
       For Each h As Control In Me.Controls
            h
.DataBindings.Clear()
 
       Next
        
' تفريغ DT
        dt.Clear()
        ' 
جلب البيانات من قاعدة البيانات
        cmd 
= New OleDbCommand("select * from TB_File"con)
 
       Da = New OleDbDataAdapter(cmd)
 
       Da.Fill(dt)
 
       ' تعبئة الداتا جريد بالبيانات التى تم تعبئتها
        dataGridView1.DataSource = dt
        ' 
تسمية الاعمدة فى الداتا جريد
        dataGridView1
.Columns(0).HeaderText "ID"
 
       dataGridView1.Columns(1).HeaderText "File Name"
 
       dataGridView1.Columns(2).HeaderText "File Extension"
 
       dataGridView1.Columns(3).HeaderText "Image"
 
       Me.PictureBox1.DataBindings.Add("image"dt"Attachment"True)
 
       txtpicid.DataBindings.Add("text"dt"id")
 
       txtpicname.DataBindings.Add("text"dt"FileName")
 
       txtpicext.DataBindings.Add("text"dt"FileExt")
 
   End Sub 

التعديل علة كود اضافة صورة:
PHP كود :
       Dim FileCon() As Byte File.ReadAllBytes(textBox2.Text)
 
       ' اضافة البيانات بقاعدة البيانات
        cmd = New OleDbCommand("Insert into TB_File (FileName,FileExt,Attachment) Values (@FileName,@FileExt,@Attachment)", con)
        con.Open()
        cmd.Parameters.AddWithValue("@FileName", textBox1.Text)
        cmd.Parameters.AddWithValue("@FileExt", Path.GetExtension(textBox2.Text))
        cmd.Parameters.AddWithValue("@Attachment", FileCon)
        cmd.ExecuteNonQuery()
        con.Close()
        MsgBox("OK!")
        ' 
تحميل البيانات بالداتا جريد
        GetLoadData
()
 
       ' تفريغ كلاً من اداء النصوص
        textBox1.Clear()
        textBox2.Clear() 

=================================
==================================
===============آخر تحديث=============


الملفات المرفقة
.zip   Store And Retrieve Files.zip (الحجم : 552.29 ك ب / التحميلات : 70)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في جلب الصورة في التقرير مصمم هاوي 12 1,259 06-06-25, 03:00 PM
آخر رد: atefkhalf2004
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,510 29-04-25, 08:55 PM
آخر رد: mmaalmesry
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 707 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 669 24-04-25, 12:58 PM
آخر رد: foad8920
  مشكلة عدم قراءة قاعدة بيانات MS access 0 429 29-03-25, 01:58 PM
آخر رد: ibraa939
  مشكلة عدم قراءة قاعدة بيانات MS access 0 360 29-03-25, 01:57 PM
آخر رد: ibraa939
  مشكلة عدم قراءة قاعدة بيانات MS access 0 294 29-03-25, 01:57 PM
آخر رد: ibraa939
  طريقة طباعة ملف pdf بقاعدة بيانات sql heem1986 0 536 25-02-25, 09:31 AM
آخر رد: heem1986
  ادخال درجات الطلاب لقاعدة بيانات اكسس .. مساعدة Tajaldeen 9 2,784 07-02-25, 07:59 PM
آخر رد: الورد2
  طريقه تحويل اى قاعده بيانات الى ملف dll فى المشروع خالد كامل1 1 647 31-01-25, 10:21 PM
آخر رد: Kamil

التنقل السريع :


يقوم بقرائة الموضوع: