تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيفية عرض الصور من قاعدة البيانات على picturebox
#1
Question 
السلام عليكم 
لدي مشكلة في شأن اظهار الصور من قاعدة البيانات اثناء عملية العرض


استخدم access كقاعدة بيانات وبرنامج فيجوال بيسك 2010
حيث أقوم بحفظ البيانات في القاعدة , اعيد عرضها من DataGridView1 عبر الانتقال بين الاسطر 
, لكن الصورة التي تم حفظها مع البيانات لاتظهر في picturebox رغم ظهور جميع البيانات الاخرى في مكانها.
الان ما اريد هو كيفية جعل الصورة المحفوظة والتي يظهر رابطها في قاعدة البيانات , تظهر في اطار الصورة  picturebox1
Angel  الحياة فترة اختبار , إما أن تكون او لاتكون  Rolleyes  
لن امل من البحث  ولن امل من السؤال
[b]رواد المعلوميات[/b]
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم اخي الكريم
اذا كنت قد خزنت مسار الصورة واسمها في الجدول  فستقوم بعرض الحقول كالمعتاد
 وحقل الصورة يكون هكذا اليك الكود
كود :
 Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
       Try
           If DataGridView1.CurrentRow IsNot Nothing Then
               'عرض الحقول
               Txt_Id.text = DataGridView1.CurrentRow.Cells(0).Value
               Txt_Name.text = DataGridView1.CurrentRow.Cells(1).Value
               ' وهكذا بقية الحقول حتى تنتهي الى حقل الصورة ويكون على النحو التالي
               PictureBox1.Image = Image.FromFile("Path\ PicName.jpg")
           End If
       Catch ex As Exception

       End Try
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#3
وعليكم السلام ورحمة الله وبركاته

يمكنك مراجعة هذا الموضوع

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#4
[/quote]

كود :
 Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
        Try
            OpenFileDialog1.Filter = "Images files (*.jpeg; *.jpg;*.tif;*.wmp;*.png;*.gif)|*.JPG|All files (*.*)|*.*"
            If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                Dim imgpath As String = OpenFileDialog1.FileName
                Dim imgname As String = System.IO.Path.GetFileName(imgpath)
                Dim newpath As String = Application.StartupPath & "\PIC_ARTICLE\" & imgname
                PictureBox1.Load(imgpath)
                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
                My.Computer.FileSystem.CopyFile(imgpath, newpath)
            End If

        Catch ex As Exception

        End Try
   End Sub
هذه هي الكيفية التي قمت بتخزين الصورة عليها
المثال ال
ذي حددت اعلاه , لم يكن يحدد اي cells وهذا لن يجهل البرنامج يتعرف من اين سيأخذ الصورة

كود :
 Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
       Try
           OpenFileDialog1.Filter = "Images files (*.jpeg; *.jpg;*.tif;*.wmp;*.png;*.gif)|*.JPG|All files (*.*)|*.*"
           If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
               Dim imgpath As String = OpenFileDialog1.FileName
               Dim imgname As String = System.IO.Path.GetFileName(imgpath)
               Dim newpath As String = Application.StartupPath & "\PIC_ARTICLE\" & imgname
               PictureBox1.Load(imgpath)
               PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
               My.Computer.FileSystem.CopyFile(imgpath, newpath)
           End If

       Catch ex As Exception

       End Try
   End Sub
هذه هي الكيفية التي قمت بتخزين الصورة عليها
المثال ال
ذي حددت اعلاه , لم يكن يحدد اي cells وهذا لن يجهل البرنامج يتعرف من اين سيأخذ الصورة
[/quote]

------------- ماذا أفعل في حالة ان اردت حفظ مجموعة من الصور وعرضها في قاعدة البيانات Blush
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , حريف برمجة , سعود
#5
السلام عليكم اخي الكريم
اولا الحدث DataGridView1_SelectionChanged الذي وضعته هو عند تغيير الاختيار في الداتا غرايد ولا علاقة له بفتح الصورة او نسخها او تخزينها
من المفترض اختيار الصورة في Button مستقل وفي حذث الحفظ يتم حفظ مسار الصورة وتسميتها وفق Txt_Id مثلا
وفي حدذ تغيير الاختيار DataGridView1_SelectionChanged نفذ الكود الذي وضعته لك فقط قم بتغيير سطر الصورة ليكون

كود :
PictureBox1.Image = Image.FromFile("image\" & Txt_id.Text & ".jpg") ' على اعتيار ان اسم الصورة هو رقم الايدي

انا حاليا في العمل والا لكنت عملت لك مثال
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#6
يبدوا ان مشكلتي لربما هي المسار الذي يتم حفظ بشكل خاطئ
حيث أنني أريد من الكود أخذ صورة من مكان الصورة ونسخها الى مكان محدد , ومن ثم يأخذ المسار الجديد
لربما هناك خطأ فعلا في هذا الكود لانني جربت جميع الحلول لكن دون جدوى
[code]
Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
Try
OpenFileDialog1.Filter = "Images files (*.jpeg; *.jpg;*.tif;*.wmp;*.png;*.gif)|*.JPG|All files (*.*)|*.*"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim imgpath As String = OpenFileDialog1.FileName
Dim imgname As String = System.IO.Path.GetFileName(imgpath)
Dim newpath As String = Application.StartupPath & "\PIC_ARTICLE\" & imgname
PictureBox1.Load(imgpath)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
My.Computer.FileSystem.CopyFile(imgpath, newpath)
End If

Catch ex As Exception

End Try
End Sub
[code/]
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#7
السلام عليكم اخي رائد
تفضل هذا مثال يقوم بحفظ الصورة في مجلد مستقل بعد اختيارها من اي مكان ويضع لها اسم يكون رقم الاي دي للسجل
ويتحقق من وجود صورة ان كانت تحمل نفس الاسم ويمكن حذف السجل وتحذف الصورة معه ايضا 
اتمنى ان تقرأ الاكواد وتفهمها ثم قم بتغيير الاسماء والحقول لماتريد في مشروعك
دمت بالف خير


الملفات المرفقة
.rar   SaveDataAnPicPath.rar (الحجم : 717.36 ك ب / التحميلات : 196)
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#8
(06-07-19, 01:08 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
اولا الحدث DataGridView1_SelectionChanged الذي وضعته هو عند تغيير الاختيار في الداتا غرايد ولا علاقة له بفتح الصورة او نسخها او تخزينها
من المفترض اختيار الصورة في Button مستقل وفي حذث الحفظ يتم حفظ مسار الصورة وتسميتها وفق Txt_Id مثلا
وفي حدذ تغيير الاختيار DataGridView1_SelectionChanged نفذ الكود الذي وضعته لك فقط قم بتغيير سطر الصورة ليكون

كود :
PictureBox1.Image = Image.FromFile("image\" & Txt_id.Text & ".jpg") ' على اعتيار ان اسم الصورة هو رقم الايدي

انا حاليا في العمل والا لكنت عملت لك مثال

(06-07-19, 03:42 PM)ابراهيم ايبو كتب :
السلام عليكم اخي رائد
تفضل هذا مثال يقوم بحفظ الصورة في مجلد مستقل بعد اختيارها من اي مكان ويضع لها اسم يكون رقم الاي دي للسجل
ويتحقق من وجود صورة ان كانت تحمل نفس الاسم ويمكن حذف السجل وتحذف الصورة معه ايضا 
اتمنى ان تقرأ الاكواد وتفهمها ثم قم بتغيير الاسماء والحقول لماتريد في مشروعك
دمت بالف خير
Angel Angel Angel Angel Angel Angel Angel Angel Angel
أخي ابراهيم , لن تكفيك كلمات الشكر  Shy
جزاك الله عني Heart  الف خير ... وجعلك انت ومن أحببت في واسع رحمته 
لك التوفيق انشاء الله
Angel  الحياة فترة اختبار , إما أن تكون او لاتكون  Rolleyes  
لن امل من البحث  ولن امل من السؤال
[b]رواد المعلوميات[/b]
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , elgokr
#9
الحمد لله والشكر لله
ولك اخي رائد
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: الرائد , elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 145 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 241 25-02-24, 11:26 PM
آخر رد: heem1986
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 171 25-02-24, 06:29 AM
آخر رد: loay775
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 164 21-02-24, 01:37 AM
آخر رد: heem1986
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 215 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 339 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,137 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  انشاء قاعدة بيانات من ملف سكربت strongriseman 5 510 17-02-24, 02:57 PM
آخر رد: strongriseman
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 264 11-02-24, 08:43 PM
آخر رد: assuhimi
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 321 02-02-24, 04:07 PM
آخر رد: صالح عبدالله

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم