none
Bagaimana cara menampilkan data blob (image) dari database Mysql Ke picturebox didalam kontrol DataRepeater di WindowsForm dengan VB.net RRS feed

  • Diskusi Umum

  • selamat malam rekan2 semua...

    saya mau nanya nih :

    Bagaimana Cara/Code Untuk Menampilkan Data Gambar(Blob / Longblob) ke dalam PICTUREBOX Yang Ada Didalam Kontrol DATAREPEATER Di Vb.Net..????

    Sebelumnya saya sudah Mencoba untuk menampilkan data string ke Label / Textbox yang ada didalam datarepeater.

    contoh form nya seperti ini :


    diatas saya menampilkan ID, Nama, Alamat.

    untuk menampilkannya saya menggunakan code seperti ini :

    'untuk Module Koneksinya...
    
    Imports MySql.Data.MySqlClient
    
    Module kns
        Public koneksi As String = "server=localhost;Uid=mstf;pwd=12345;database=biodata;"
        Public str As New MySqlConnection(koneksi)
    End Module

    kemudian Code di formnya :

    Imports MySql.Data.MySqlClient
    
    Public Class GetDataRepeater
        Dim dt As DataTable
        Public Shared konek As New MySqlConnection
        Public Shared cmd As New MySqlCommand
        Public Shared da As New MySqlDataAdapter
        Public Shared ds As DataSet
    
    
    'Class untuk query menampilkan data...
        Public Class getDatanya
            Public Shared Function GetdataRepeat() As DataSet
                Try
                    konek.Close()
                    konek = New MySqlConnection(koneksi)
                    konek.Open()
    
                    cmd = New MySqlCommand
    
                    With cmd
                        .CommandText = "select no,nama,alamat,umur from datatorepeat"
                        .CommandType = CommandType.Text
                        .Connection = konek
                    End With
    
                    da = New MySqlDataAdapter(cmd)
                    ds = New DataSet("datatorepeater")
                    da.Fill(ds)
    
                Catch ex As Exception
                    ds = Nothing
                    MsgBox(ex.Message, MsgBoxStyle.Information)
                End Try
    
                Return ds
    
            End Function
        End Class
    
    
        Private Sub GetDataRepeater_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            r5.Checked = True
            Try
                dt = getDatanya.GetdataRepeat().Tables(0)
                Label5.DataBindings.Add("Text", dt, "no")
                Label4.DataBindings.Add("Text", dt, "nama")
                Label3.DataBindings.Add("Text", dt, "alamat")
                Label9.DataBindings.Add("Text", dt, "umur")
                DataRepeater1.DataSource = dt
    
            Catch ex As Exception
                MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub
    
    End Class

    kemudian saya coba buat form baru dengan menambahkan datarepeater dan beberapa label,textbox dan 1 picturebox. seperti ini :


    Pada kode class untuk Query Menampilkan data hampir sama dengan yang diatas, Hanya Bagian Querynya yg di Tambah.:

        Public Class TampilGambar
            Public Shared Function GetGambar()
                Try
                    konek.Close()
                    konek = New MySqlConnection(koneksi)
                    konek.Open()
    
                    cmd = New MySqlCommand
    
                    With cmd
                        .CommandText = "select idgbr, name, foto from gambar1 order by idgbr ASC limit 5"
                        .CommandType = CommandType.Text
                        .Connection = konek
                    End With
    
                    da = New MySqlDataAdapter(cmd)
                    ds = New DataSet("gambar1")
                    da.Fill(ds)
                Catch ex As Exception
                    ds = Nothing
                    MsgBox(ex.Message, MsgBoxStyle.Information)
                End Try
    
                Return ds
            End Function
        End Class

    di form loadnya :

        Private Sub RepeterImage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                Dim arrImage() As Byte
                dt = TampilGambar.GetGambar().Tables(0)
                tid.DataBindings.Add("Text", dt, "idgbr")
                tname.DataBindings.Add("Text", dt, "name")
                pcimage.DataBindings.Add("image", dt, "foto") 'Tidak Muncul Gambar di picturebox....
                DataRepeater1.DataSource = dt
    
            Catch ex As Exception
                MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub

    Untuk tipe filed "Foto " di tabel, saya gunakan LongBlob

    itu dimana ya salah nya...???

    Terima Kasih...

    By Tafarie..




    Selasa, 23 April 2013 16.54

Semua Balasan

  • Hi Tafarie

    Mohon maaf atas keterlambatan membalas forum ini

    Karena kode Anda tidak bisa bekerja dengan baik, cobalah untuk debug kode Anda terlebih dahulu.
    Jika Anda ingin menampilkan gambar dalam window form, Anda bisa terlebih dahulu menggunakan MySQLDataAdapter untuk membaca data ke DataTable, maka Anda dapat mengikat ke PictureBox yang memiliki properti gambar. Anda dapat menggunakan FromStream

    Blog ini dapat membantu Anda, silakan mencoba:
    # Bagaimana untuk mengambil gambar dari database MySQL dan menampilkan dalam aplikasi Windows Forms menggunakan VB.NET
    http://deepak-sharma.net/tag/show-image-from-mysql-database-to-picturebox-control/

    This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure that you completely understand the risk before retrieving any software from the Internet.

    Terima kasih


    Andy Nugraha

    TechNet Community Support

    Kamis, 02 Mei 2013 02.49
    Moderator