تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox
#1
بسم الله الرحمن الرحيم

اخواني واخواتي واساتذتي الفضلاء .. بعد التحية ..

اعاني من مشكلة صغيرة تؤرقني وتقودني للجنون ..
بالتعاون مع اخي الفاضل sajad واتباعاً لإرشادته تمكنت من اتمام العمل على قاعدة بيانات MS Access والبحث داخلها واظهار محتوياتها في Datagridview ، وقمت بحفظ صور داخل قاعدة البيانات على شكل Binary وعند تشغيل المشروع تظهر الصور بشكل طبيعي داخل ال Datagridview ..
المشكلة :
بعد البحث عن معلومات شخص معين داخل قاعدة البيانات تظهر بياناته في textbox . وقمت بإضافة Picturebox لكي تظهر بداخلها صورة هذا الشخص عند البحث عنه . المشكلة انني لا استطيع اظهار صورة الشخص او استخلاصها من ال Datagridview لإظهارها في ال picturebox .

فهل من طريقة لإظهار الصور الموجودة بداخل ال Datagridview في ال Picturebox .

أو

طريقة لربط ال Picturebox بال Datagridview .

أو

مثال جاهز يشرح ذلك .

علماً بأني استخدم vb.net 2012 .


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

شكر الله لكم واثابكم ،،،
الرد }}}}
تم الشكر بواسطة:
#2
[COLOR="#800000"]السلام عليكم اخي العزيز

ليس شرطا ان تربط الpicturebox بالdatagridview فتستطيع عرص الصورة عند البحث في الPictureBox مباشرة

انظر الى السطر الاخير من كود البحث هذا الذي استخدمه انا لعرض الصورة عند البحث

PHP كود :
Public Sub searchmethod(srcname As String)
        
Dim row As DataRow
        
'''///////////////////////////////////////////
        row = DirectCast(mytable.Select("ename like'
%" & srcname & "%'").GetValue(0), DataRow)
        empidtxt.Text = row("eid").ToString()
        empnametxt.Text = row("ename").ToString()
        empbdtxt.Text = row("ebdate").ToString()
        empsaltxt.Text = row("esalary").ToString()
        Dnamecmbobx.SelectedItem = row("dname").ToString()
        PictureBox1.Image = Image.FromStream(New MemoryStream(DirectCast(row("eimage"), Byte())))
        '''
///////////////////////////////////////////
    
End Sub 

بالتوفيق ان شاءالله[/COLOR]
الرد }}}}
تم الشكر بواسطة:
#3
ممكن الجزئية الخاصة بالبحث؟
او لو انك تستخدم databindings لعرض محتويات الـ dataset في مربع صورة اكتب
كود :
picturebox1.databindings.add("image",dataset,"table.pic",true)
كل مااعرفه في البرمجة تجدونه هنا
الرد }}}}
تم الشكر بواسطة:
#4
بسم الله الرحمن الرحيم

اشكركم جزيل الشكر لتفاعلكم معي .. وبارك الله فيكم وان شاء الله جعله في ميزان حسناتكم .. اللهم آمين يارب العالمين

ولكن

الكود الخاص بأخي في الله sajad لم يعمل معي .
والكود الخاص بأخي سعود بارك الله فيه قام بإخفاء ال Picturebox .

ان شاء الله اكتب لكم الاكواد الخاصة بي والمكتبات التي استخدمها حتى تكونوا على بينة من الامر ان شاء الله

اعتذر عن اشغالي لوقتكم .. جزاكم الله خيرا
الرد }}}}
تم الشكر بواسطة:
#5
بسم الله الرحمن الرحيم

كود :
Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Imports System.Drawing.Image

كود :
Public Class Form5

    Dim ds As New DataSet
    Dim dt As New DataTable("users")
    Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source =" & Application.StartupPath & "\cobra.mdb"
    Dim Conn As New OleDbConnection(ConStr)
    Dim DataSet1 As New DataSet
    Dim SQLstr As String = "SELECT * FROM users"
    Dim m As String


    Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Static m As Integer = 0
        Conn.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
        DataAdapter1.Fill(DataSet1, "users")
        Conn.Close()


    End Sub

كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            PictureBox4.Load(OpenFileDialog1.FileName)
        End If
    End Sub

كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        Select Case ComboBox1.Text

            Case "رقم التعريف"
                On Error Resume Next
    
        
                    Dim MyRows() As DataRow = DataSet1.Tables("users").Select("ID LIKE '%" & Trim(TextBox1.Text) & "%'")
                    Dim FoundRows As DataTable = DataSet1.Tables("users").Clone
                    Dim dr As DataRow
                    For Each dr In MyRows
                        FoundRows.ImportRow(dr)
                    Next

                    DataGridView1.DataSource = FoundRows

                    Dim i As Integer
                    i = DataGridView1.CurrentRow.Index

                    Me.TextBox2.Text = DataGridView1.Item(1, i).Value
                    Me.TextBox3.Text = DataGridView1.Item(2, i).Value
                    Me.TextBox4.Text = DataGridView1.Item(3, i).Value
                    Me.TextBox5.Text = DataGridView1.Item(4, i).Value
                    Me.TextBox6.Text = DataGridView1.Item(5, i).Value
                    Me.TextBox7.Text = DataGridView1.Item(6, i).Value
                    Me.TextBox8.Text = DataGridView1.Item(7, i).Value
                    Me.TextBox9.Text = DataGridView1.Item(8, i).Value
                    Me.TextBox10.Text = DataGridView1.Item(9, i).Value
                    Me.TextBox11.Text = DataGridView1.Item(10, i).Value
                  
                    PictureBox4.DataBindings.Add("image", DataSet1, "users.photo", True).ToString()
                    Me.Button2.Enabled = True
                    Me.Button8.Enabled = True

        End Select
    End Sub

هذا هو الكود المستخدم مع إضافة السطر الخاص بأخي سعود ..

والكود الخاص بأستاذي sajad فقد استخدمته كالتالي :

كود :
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Dim row As DataRow
        row = DirectCast(dt.Select("ID like'%" & "wwww" & "%'").GetValue(0), DataRow)
        PictureBox4.Image = Image.FromStream(New MemoryStream(DirectCast(row("photo"), Byte())))

    End Sub

ارجو ان اكون قد اوضحت طريقة عملي ..

شكر الله لكم ،،،
الرد }}}}
تم الشكر بواسطة:
#6
بسم الله الرحمن الرحيم

لوجه الله عز وجل ..

أرجوكم اجيبوني يا اخواني لأنه قد أرهقت من كثرة البحث والتجارب .
قمت بتجربة كود أخي sajad مرة أخرى على مشروع منفصل مع بعض الاضافات ولكن لم يعمل أيضا . تخرج رسالة خطأ مفادها :
"Cannot find column [ ID ]f"
وهكذا مع جميع الأعمدة .
شكرا مره اخرى ،،
الرد }}}}
تم الشكر بواسطة:
#7
[COLOR="#800000"]السلام عليكم

عدل كود الLoad للForm الى

PHP كود :
Private Sub Form5_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        
Static As Integer 0
        Conn
.Open()
        
Dim DataAdapter1 As New OleDbDataAdapter(SQLstrConn)
        
DataAdapter1.Fill(DataSet1"users")
        
Conn.Close()

dt=DataSet1.Tables("users")
    
End Sub 

ومن ثم جرب

سؤال: هل حقل الID هي int أم string؟

يجب اسناد الجدول بعد ملئ الdataset

[/COLOR]
الرد }}}}
تم الشكر بواسطة:
#8
بسم الله الرحمن الرحيم

شكرا لك اخي sajad لكن ظهرت رسالة خطأ أخرى مفادها

An unhandled exception of type 'System.NullReferenceException' occurred in picture.exe

Additional information: Object reference not set to an instance of an object.
الرد }}}}
تم الشكر بواسطة:
#9
اخي العزيز اقرأ الرد مرة اخرى فقد عدلت الكود مرة اخرى
الرد }}}}
تم الشكر بواسطة:
#10
بسم الله الرحمن الرحيم

اخي sajad هل سأثقل عليك اذا طلبت منك مثال جاهز اتعلم منه ؟
يرضى الله عنك ويبارك لك في علمك وعالمك
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيفية حفظ ملف pdf في قاعدة بيانات sql abid 6 5,944 04-10-17, 10:08 PM
آخر رد: sofiane0552
  مسار قاعدة البيانات اكسس Mostafa Yousry 6 1,621 24-09-17, 08:23 PM
آخر رد: alsouf
  حذف صورة abdulla2 11 418 21-08-17, 01:46 AM
آخر رد: سعود
  [سؤال] مشكلة الاختلاف بين ترتيب الصفوف في قاعدة البيانات والداتا جريد فيو waelalmsry75 2 140 18-08-17, 05:40 PM
آخر رد: waelalmsry75
  هل يمكن حفظ البيانات من dataGridView مباشرة؟ abozeyd 3 184 15-08-17, 02:11 PM
آخر رد: abozeyd
  ممكن تعديل كود انشاء قاعدة اكسس بالكود سعود 8 285 07-08-17, 11:26 PM
آخر رد: أبو نوره
  طلب كود رسالة تبين أن هذه البيانات موجودة من قبل ولا يسمح بتكررها waelalmsry75 2 170 19-07-17, 03:24 PM
آخر رد: waelalmsry75
  تضمين قاعدة بيانات MySQL مع الرنامج Jounior_P 8 275 19-07-17, 01:58 PM
آخر رد: Jounior_P
Question [سؤال] كيف يتم تشغيل قاعدة بيانات SQL SERVER دون تنصيب MS SQL SERVER alimoi79 1 211 16-07-17, 02:56 AM
آخر رد: ابو ليلى
  [كود] المساعدة في وضع صورة لكل موظف وادي العوضي 0 110 15-07-17, 11:59 AM
آخر رد: وادي العوضي

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


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