منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : [عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox (/showthread.php?tid=7744)

الصفحات: 1 2


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - ENG.MPROG - 25-02-13

بسم الله الرحمن الرحيم

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

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

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

أو

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

أو

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

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


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

شكر الله لكم واثابكم ،،،


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - Sajad - 25-02-13

[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]



[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - سعود - 25-02-13

ممكن الجزئية الخاصة بالبحث؟
او لو انك تستخدم databindings لعرض محتويات الـ dataset في مربع صورة اكتب
كود :
picturebox1.databindings.add("image",dataset,"table.pic",true)



[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - ENG.MPROG - 25-02-13

بسم الله الرحمن الرحيم

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

ولكن

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

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

اعتذر عن اشغالي لوقتكم .. جزاكم الله خيرا


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - ENG.MPROG - 25-02-13

بسم الله الرحمن الرحيم

كود :
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

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

شكر الله لكم ،،،


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - ENG.MPROG - 26-02-13

بسم الله الرحمن الرحيم

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

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


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - Sajad - 26-02-13

[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]



[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - ENG.MPROG - 26-02-13

بسم الله الرحمن الرحيم

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

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

Additional information: Object reference not set to an instance of an object.


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - Sajad - 26-02-13

اخي العزيز اقرأ الرد مرة اخرى فقد عدلت الكود مرة اخرى


[عنوان معدل]عرض صورة من قاعدة البيانات داخل picturebox - ENG.MPROG - 26-02-13

بسم الله الرحمن الرحيم

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