Home > MySQL, Visual Basic .NET > Menyimpan dan Menampilkan Gambar di MySQL

Menyimpan dan Menampilkan Gambar di MySQL

March 15, 2011

Ternyata masih ada sebagian om2x 😀 yang masih kesulitan untuk melakukan hal ini, tapi oke lah berhubung udah lama enggax posting kayaxnya enggak salah juga membahas permasalahan yang satu ini.

Dengan asumsi MySQL dan Visual Basic .NET sudah terinstall dengan baik hal selanjutnya yang perlu disiapkan adalah MySQL Connector/Net, disini saya menggunakan versi 6.2.4

Jadi silahkan download kemudian lakukan instalasi.

Selanjutnya kita akan menyiapkan sebuah tabel, misal dengan nama mahasiswa dengan struktur seperti berikut :

CREATE TABLE mahasiswa (
    npm VARCHAR(10),
    nama VARCHAR(50),
    foto MEDIUMBLOB
)

Gimana udah selesai ? Klo udah kita lanjutkan dengan membuat project baru kemudian tambahkan referensi MySql.Data (menu Project -> Add Reference…)

Apakah udah cukup ? Belum tambahkan juga namespace (package klo istilah javanya) MySql.Data pada bagian paling atas kode program

Perintah diatas berguna untuk menyingkat penulisan kode program contoh :

Private conn As New MySql.Data.MySqlClient.MySqlConnection

bisa disingkat menjadi

Private conn As New MySqlClient.MySqlConnection

Selanjutnya kita akan desain tampilan program seperti gambar dibawah ini

komponen yang yang dibutuhkan 1 buah PictureBox dan 2 buah Button.

Melakukan koneksi

Nah cara yang paling gampang kita tempatkan aja kodenya dibagian constructor

Private conn As New MySqlClient.MySqlConnection
Private strSql As String = String.Empty

Public Sub New()

    ' This call is required by the Windows Form Designer.
    InitializeComponent()

    ' Add any initialization after the InitializeComponent() call.

    ' kode untuk melakukan koneksi mulai dari sini
    Dim strConn As String = "server=127.0.0.1;uid=root;pwd=rahasia;database=test"
    conn.ConnectionString = strConn
    conn.Open()

End Sub

Klo kelupaan lokasi constructornya dimana :D, caranya lihat gambar :

Meyimpan gambar

Kodenya sederhana banget, kita lihat cuplikannya

Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
    ' untuk contoh disini lokasi gambarnya saya hardcode
    ' kita bisa kembangkan dengan memanfaatkan komponen OpenFileDialog
    Dim fileName As String = "E:\Gambar\k4m4r82.jpg"

    strSql = "INSERT INTO mahasiswa (npm, nama, foto) VALUES (@1, @2, @3)" ' ini perintah insert biasa
    Using cmd As New MySqlClient.MySqlCommand(strSql, conn)
        With cmd
            .Parameters.Clear()
            .Parameters.AddWithValue("@1", "02.02.4114") ' npm
            .Parameters.AddWithValue("@2", "Kamarudin") ' nama
            .Parameters.AddWithValue("@3", IO.File.ReadAllBytes(fileName)) ' foto

            .ExecuteNonQuery()
        End With
    End Using

    MessageBox.Show("Data sudah disimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

Menampilkan gambar

Private Sub btnTampil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTampil.Click
    strSql = "SELECT foto FROM mhs WHERE npm = @1"

    Using cmd As New MySqlClient.MySqlCommand(strSql, conn)
        With cmd
            .Parameters.Clear()
            .Parameters.AddWithValue("@1", "02.02.4114") ' npm

            Using dtr As MySqlClient.MySqlDataReader = .ExecuteReader()
                If dtr.HasRows Then
                    If dtr.Read() Then
                        Dim ms As New IO.MemoryStream(CType(dtr.Item("foto"), Byte()))
                        PictureBox1.Image = Image.FromStream(ms) ' tampilkan gambarnya
                    End If
                End If
            End Using
        End With
    End Using
End Sub

Selamat mencoba 🙂

  1. fandi
    March 22, 2011 at 1:28 pm

    misi om, mau nanya dikit nih.
    kalo implementasi di vb.6 gmn?!
    and
    emang bedanya vb dan vb.net apa?!
    [newbie] om
    makasih banyak sebelumnya om.

    • March 23, 2011 at 3:20 am

      1. Implementasi di vb6 coba baca postingan sy sebelumnya atw artikel ini.
      2. Untuk beda vb classic vs vb .net bisa dilihat disini.

  2. aries
    March 31, 2011 at 3:43 pm

    mas, minta email dong. mau blajar 😦

    anak kuliahan yang msih sayng awan, 😦

    terimakash

    bals ke email y mas

  3. aries
    March 31, 2011 at 3:45 pm

    sangat maksd mas,
    maaf. 🙂

  4. May 20, 2011 at 3:59 pm

    mas klo visual basic yg biasa bisa ga

    • May 21, 2011 at 1:58 am

      Bisa om, disini contohnya

  5. uun
    May 30, 2011 at 1:52 pm

    ohm ? ada contoh perpus vb.net gak ? klo ada ku bisa liat gak ? klo ku tertarik ntar ane beli..

    • May 31, 2011 at 12:43 am

      Sory ya om, sy enggak jualan source code

      • uun
        May 31, 2011 at 6:00 am

        Ok..ohm..mohon pencerahan ohm..cara back up DB di VB.net gmana ya ? ane pake SQl server 2005,perlu aplisi lain gak ya ?

        • May 31, 2011 at 6:44 am

          Coba ini om.

  6. cahya
    June 27, 2011 at 3:28 am

    mas kalau untuk menyimpan gambar dengan datatbase mysql sintakx gmn??
    soalx q pkek VB.net 2003

    • June 27, 2011 at 4:28 am

      Perintahnya sama aja kok

  7. cahya
    June 27, 2011 at 6:32 am

    erornya ada di sintak ini ya
    .Parameters.AddWithValue(“@3”, IO.File.ReadAllBytes(fileName)) ‘ foto
    ReadAllBytes di VB.net saya gak ada..

    • June 27, 2011 at 7:21 am

      Susah juga ya cobanya soalnya sy cuma nginstall .NET 2005/2008, tapi mungkin coba kode berikut :

      .Parameters.AddWithValue(“@3″, My.Computer.FileSystem.ReadAllBytes(fileName))
      
  8. cahya
    July 11, 2011 at 3:03 am

    cara lain da gak maz,,
    soalx q cri referensi lain gak ada yang menyimpan lewat MYsql..
    tolong bantuannya mzz..
    masih error ya sintak diatas

  9. ardy
    July 18, 2011 at 7:08 pm

    assalamualaikum..mau tanya maz..
    jadi saya membuat laporan penjualan pake database mysql menggunakan dataset..dan saya mendapatkan error…..#42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1…itu error kenapa ya??makasih bgt mas..maaf

    ini scriptnya

    Dim myReport As New Cr_Lappengiriman
    Dim Q As String
    Dim MyDa As New MySql.Data.MySqlClient.MySqlDataAdapter
    Dim myDt As New DataSet1
    Dim mycn As New koneksi

    QUERYnya

    MyDa = New MySqlDataAdapter(Q, mycn.bukakoneksi)
    MyDa.Fill(myDt, “Lap_pengiriman”)
    myReport.SetDataSource(myDt)
    myReport.SetParameterValue(“tgl1”, DateTimePicker1.Value)
    myReport.SetParameterValue(“tgl2”, DateTimePicker1.Value)

    • July 18, 2011 at 9:02 pm

      Waalaikumussalam
      Klo ngeliat errornya sih berarti ada kesalahan di perintah querynya om.
      “Lap_pengiriman” ini view ya?

  10. ardy
    July 19, 2011 at 6:34 am

    “lap pengiriman” itu table yang ada di dataset mas..apakah setiap database seperti mysql.accsess..sql server..ada perbedaan dalam penulisan query nya??

    tadinya saya pake accses lalu saya ubah menjadi mysql..setelah saya ubah saya menemukan error yang di atas..maaf saya taro sini ya querynya..

    Q = ” SELECT SJ.no_sj, SJ.Tgl_sj, Nota.no_nota, Pelanggan.nmplg, Barang.nm_brg, Barang.warna, Barang.ukuran, kirim.jml_kirim ”

    Q &= ” FROM (Pelanggan INNER JOIN SP ON Pelanggan.kdplg = SP.Kdplg) INNER JOIN (((Nota INNER JOIN SJ ON Nota.no_nota = SJ.No_nota) INNER JOIN kirim ON SJ.no_sj = kirim.No_sj) INNER JOIN Barang ON kirim.kd_brg = Barang.kd_brg) ON SP.Nosp = Nota.no_sp ”

    Q &= ” where SJ.tgl_SJ >=#” & Format(CDate(DateTimePicker1.Value), “dd-MM-yyyy”) & “#”
    Q &= ” AND SJ.tgl_SJ <=#" & Format(CDate(DateTimePicker2.Value), "dd-MM-yyyy") & "#"

    • July 19, 2011 at 7:10 am

      Coba karakter # diganti petik tunggal

  11. ardy
    July 19, 2011 at 7:50 am

    makasih byk mas..salut sama mas..jarang ada admin yang respontif menjawab pertanyaan2..sekali lagi terimakasih..

    • July 19, 2011 at 8:32 am

      Sama2x om 🙂

  12. pinguin
    July 20, 2011 at 9:32 am

    salam…

    setelah sya coba..ko di database tidak ada gambarnya..setelah saya klik bloob tidak ada imagenya..yang ada hanya TEXT dan HEX EDITOR..apa yang salah ya??terimakasih

    • July 20, 2011 at 10:09 am

      Data gambarnya memang enggak disimpan dalam bentuk aslinya om, biasanya isinya string dengan format hexa.
      Klo tombol tampilnya berfungsi enggak ?

      • pinguin
        July 20, 2011 at 10:57 am

        tombol tampil berfungsi..keluar gambarnya…

        tapi sya coba yang diatas..dan saya liat di mysqlnya..ada 2 type.image dan hexa..tapi kalo saya buat..ko ga ada imagenya ya??

        ini koding class untuk menyimpan gambarnya
        Public Sub simpan()
        Dim mycn As New koneksi
        Dim mycmd As New MySqlCommand

        mycmd.CommandText = “INSERT INTO jenisbarang(kdjenis, nmjenis, gambar) ” & _
        “VALUES(‘” & fkdjenis & “‘,'” & fnmjenis & “‘,'” & fgambar & “‘)”
        mycmd.Connection = mycn.bukakoneksi
        Try
        If mycmd.ExecuteNonQuery = 1 Then
        MsgBox(“data di simpan”)
        Else
        MsgBox(“Insert data barang gagal”)
        End If
        mycmd.Connection.Close()
        Catch ex As Exception
        MsgBox(ex.Message)
        End Try
        End Sub

        kalo koding ini buat apa ya mas??

        Parameters.AddWithValue(“@3”, IO.File.ReadAllBytes(fileName))

        terimaksih..

        • July 21, 2011 at 5:52 am

          Variabel fgambar itu isinya lokasi file kan om ? Klo iya jelas enggak mau om, makanya harus dikonversi dulu ke bentuk binary menggunkan fungsi ReadAllBytes

          ReadAllBytes

          Opens a binary file, reads the contents of the file into a byte array, and then closes the file.

  13. September 16, 2011 at 9:12 am

    thanx bgt buat infonya… itu sangat membantu saya gan 😀

    • September 16, 2011 at 9:14 am

      Sama-sama om 🙂

  14. O,O
    November 12, 2011 at 5:02 pm

    mas kalo buat simpan n tampilkan gambar coding c# nya ada ga?

    • November 15, 2011 at 12:37 pm

      Ini contoh menyimpannya om berdasarkan hasil konversi kode diatas :

      private void btnSimpan_Click(object sender, EventArgs e)
      {
          // untuk contoh disini lokasi gambarnya saya hardcode
          //kita bisa kembangkan dengan memanfaatkan komponen OpenFileDialog
          string fileName = @"E:\Gambar\k4m4r82.jpg";
      
          strSql = "INSERT INTO mahasiswa (npm, nama, foto) VALUES (@1, @2, @3)" // ini perintah insert biasa
          using (MySqlClient.MySqlCommand cmd = new MySqlClient.MySqlCommand(strSql, conn))
          {   
              cmd.Parameters.Clear();
              cmd.Parameters.AddWithValue("@1", "02.02.4114"); // npm
              cmd.Parameters.AddWithValue("@2", "Kamarudin"); // nama
              cmd.Parameters.AddWithValue("@3", System.IO.File.ReadAllBytes(fileName)); // foto
              cmd.ExecuteNonQuery();
          }
      
          MessageBox.Show("Data sudah disimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
      
  15. aulia
    December 5, 2011 at 2:41 pm

    mas cara yg pake openfiledalog gmna????

    • December 9, 2011 at 2:54 pm

      Coba disini.

  16. azharry
    December 14, 2011 at 8:47 pm

    pak dosen mundur lagi ke jaman pra sejarah nih 😀

    Sy belum pernah berhasil nginstal mySql di win XP sebagai server. pertama dulu saya pikir hanya masalah previlege/hak aksesnya saja. cuma dah di otak-atik masih aja gak mau, ada yg nyaranin pake xampp, gak bisa juga. Akhirnya nyerah pake win server 2003/2008 kompi tempat nginstall mySql sebagai server. aplikasinya sendiri multiuser jenis dekstop bukan web. emang sebenernya bisa gak sih xp di tongkrongin mySql Server? gimana ya caranya?

    • December 19, 2011 at 1:11 pm

      Selama ini sy enggak ada masalah om nginstall mysql di win xp, user tetap bisa login baik dari komputer yg bersangkuatan atw dari komputer lain dengan syarat usernya diberi hak akses untuk login dari komputer lain.

  17. bungbram
    February 21, 2012 at 9:53 am

    Imports MySql.Data
    Public Class Form1
    Private conn As New MySqlClient.MySqlConnection
    Private strSql As String = String.Empty

    Public Sub New()

    ‘ This call is required by the designer.
    InitializeComponent()

    ‘ Add any initialization after the InitializeComponent() call.
    Dim strconn As String = “server = 127.0.0.1;uid=root;pwd=;database=profile”
    conn.ConnectionString = strconn
    conn.Open()
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
    Dim filename As String = “D:\DokumenMMS\2012_01_28\IMG_OO29.jpg”
    strSql = “Insert into mahasiswa (npm,nama,foto) values (@1,@2,@3)”
    Using cmd As New MySqlClient.MySqlCommand(strSql, conn)
    With cmd
    .Parameters.Clear()
    .Parameters.AddWithValue(“@1”, “02.02.4114”) ‘ npm
    .Parameters.AddWithValue(“@2”, “Febriano”) ‘ nama
    .Parameters.AddWithValue(“@3”, System.IO.File.ReadAllBytes(filename)) ‘foto

    .ExecuteNonQuery()
    End With
    End Using
    MessageBox.Show(“Data telah disimpan”, “Informasi”, MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub

    Private Sub btnTampil_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTampil.Click
    strSql = “Select foto from mahasiswa where npm = @1”

    Using cmd As New MySqlClient.MySqlCommand(strSql, conn)
    With cmd
    .Parameters.Clear()
    .Parameters.AddWithValue(“@1”, “02.02.4114”) ‘ npm

    Using dtr As MySqlClient.MySqlDataReader = .ExecuteReader()
    If dtr.HasRows Then
    If dtr.Read() Then
    Dim ms As New IO.MemoryStream(CType(dtr.Item(“foto”), Byte()))
    PictureBox1.Image = Image.FromStream(ms) ‘ tampilkan gambarnya
    End If
    End If

    End Using
    End With
    End Using

    End Sub
    End Class

    kok error di .Parameters.AddWithValue(“@3”, System.IO.File.ReadAllBytes(filename)) ‘foto ?? ada yg salah or kurang kah ??

    • February 21, 2012 at 2:05 pm

      Emg pake VB .NET versi brp om ?

  18. Dd
    May 15, 2012 at 3:14 pm

    mas.. saya new ni di vb.net..
    saya mau nanya, gmn caranya foto bisa tampil pada saat datagridview di clik..
    atau pictureboxnya secara otomatis menampilkan foto sesuai dengan alamat foto yang ada di text box..
    tolong ilmuny ya mas

    • May 19, 2012 at 8:42 am

      Sy belum pernah make datagridview, jadi belum bisa bantu 😀

  19. danang
    May 20, 2012 at 4:59 pm

    mas sy msih newbie ne.. mu tnya klo mau simpan gambar ke SQL Server 2000 dengan vb 6.0 gmn ia mas?? udh coba cari di Google kbnyakan pake database accses.. mohon bntuan na mas.. mkasi..

    • May 26, 2012 at 10:12 am

      Sama aja om, klo di ms access kan tipenya OLE utk SQL Server pake image.
      Untuk kodenya sama aja

  20. Dd
    May 21, 2012 at 10:44 am

    mas ..mau nanya lagi ni…
    coding menampilkan foto pada picturebox sesuai dengan alamat foto yang ada di text box pada saat form load gmn mas..??
    tolong saya ya mas…

    • May 26, 2012 at 10:18 am

      Coba tes seperti ini om :

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
          Dim fileName As String = "D:\gambar\104018.jpg"
          Dim img As New Bitmap(fileName)
      
          PictureBox1.Image = img
      End Sub
      
      
  21. me
    July 18, 2012 at 3:51 pm

    mas sebelum disave tentu kita pilih gambar dulu kan..
    nah pada saat event tersebut bagaimana codingnya,
    jika dalam database terdapat NIM,NAMA,ALAMAT,EMAIL,serta Foto.
    setelah berhasiil di simpan.
    karena banyaknya data jika kita ingin mencari satu data maka digunakan evnt search,,
    nah supaya gambar yang tadi kita save tampil pada saat search beserta datanya bagaimana..

    terimakasih

    • July 21, 2012 at 1:58 pm

      Menampilkannya dimana dulu ?

      • Deft
        July 22, 2012 at 7:41 pm

        ini dia bang codingnya…., Gambar yang akan disimpan ada 5 buah…, textbox adalah string untuk lokasi filenya… . mohon bantuannya…!!!
        ——————————————————————————
        Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim sqlstr As String = “INSERT INTO Gambar” (,Gbr_a,Gbr_b,Gbr_c,Gbr_d,Gbr_e)” & “VALUES(@Gbr_a,@Gbr_b,@Gbr_c,@Gbr_d,@Gbr_e);”
        Using CMD As New MySqlCommand(sqlstr, conn.Open)
        With CMD
        .Parameters.AddWithValue(“@Gbr_a”, System.IO.File.ReadAllBytes(TextBox10.Text.Trim))
        .Parameters.AddWithValue(“@Gbr_b”, System.IO.File.ReadAllBytes(TextBox11.Text.Trim))
        .Parameters.AddWithValue(“@Gbr_c”, System.IO.File.ReadAllBytes(TextBox12.Text.Trim))
        .Parameters.AddWithValue(“@Gbr_d”, System.IO.File.ReadAllBytes(TextBox13.Text.Trim))
        .Parameters.AddWithValue(“@Gbr_e”,
        System.IO.File.ReadAllBytes(TextBox14.Text.Trim))
        .ExecuteNonQuery()
        end with
        end using
        end sub
        ——————————————————————————

  22. Deft
    July 22, 2012 at 5:53 pm

    mas mau tnya juga ni mas….. kalau gambar yang disimpan lebih dari satu alias banyak, cara nyimpanya gimana…???. saya suda coba berkali-kali tapi selalu gagal…please..help me….!!!!!

    • July 22, 2012 at 6:24 pm

      Sy harus tau dulu kode yg sudah om tulis seperti apa ?

      • Deft
        July 22, 2012 at 8:33 pm

        alhamdulillah selesai juga bang …..ternyata yang bermasala bukan pada codingnya tetapi pada server mysql, tdinya max allowed packet-nya cuma 42 mb setelah di ubah menjadi 256 mb , semua gambar yang berukuran besar bisa disimpan…..dahsyat…..project saya akhirnya selesai….$$$$$$

        • July 22, 2012 at 8:59 pm

          Oke om, sippp
          Senang bisa membantu 🙂

  23. RAFIKO
    July 22, 2012 at 11:29 pm

    ass, sob, saya suda nyoba prakikan artikel sob yng di atas nu. uda jalan si programnya……
    Tapi kalo gambarnya dikosongkan/filenamenya tidak ada/gambarnya gx ada….kok muncul pesan erorr dan database gx bisa disimpan…., !!! sob ngimana cara penanggulangan erorrnya…???

    • July 23, 2012 at 9:42 am

      Ya berarti tinggal cek kan file gambarnya ada atw enggak, trus perintah insertnya juga menyesuaikan :

      ' ada gambar
      strSql = "INSERT INTO mahasiswa (npm, nama, foto) VALUES (@1, @2, @3)" 
      
      ' enggak ada gambar
      strSql = "INSERT INTO mahasiswa (npm, nama) VALUES (@1, @2)" 
      
  24. Deft anjer
    August 5, 2012 at 8:19 pm

    Assalamu’alikum. Om, saya mau tanya nie, crara menentukan jumlah baris dalam suatu tabel database mysql gimana ya om….?, trs jumalh barisnya ditampilkan pada texbox…!!!
    misal gini om..pada tabel siswa, untuk mengetahui jumlah siswa yang berjeniskelamin laki-laki..
    please help me om,,,,minta conth coding vb 2005-nya….!!!

    • August 6, 2012 at 8:48 am

      Kan tinggal main di query aja om, misal :

      SELECT COUNT(*) FROM siswa WHERE jenis_kelamin = 'L'
      
      • Deft anjer
        August 7, 2012 at 9:11 pm

        untuk menampilkan ke textbox gimana…?

      • Deft anjer
        August 7, 2012 at 11:35 pm

        cara menampilkan jumlahnya ke textbox gimana ..om…??

        • August 8, 2012 at 9:44 am

          Coba kesini om.

  25. Deft anjer
    August 16, 2012 at 10:25 am

    ass, om mau tnya lgi ni om, masalahnya gni om pada saat menampilkan gambar yang pertama sukses…..kok pada saat menyimpan gambar kedua dst.. muncul pesan error :{“Parameter is not valid.”}….!!, tlg dikoreksi ya om dimananya yang salah….?

    ni souce codenya om…..!!!

    Dim sqlstr As String = “SELECT* FROM soal where paket=@paket and No_soal=@No_soal” Dim cmdt1 As New MySqlCommand(sqlstr, conn.Open)
    With cmdt1.Parameters
    .AddWithValue(“@paket”,combobox1.Text.Trim)
    .AddWithValue(“@No_soal”, combobox2.Text.Trim)
    End With
    Dim rdr1 As MySqlDataReader = cmdt1.ExecuteReader(CommandBehavior.CloseConnection)
    If rdr1.Read = True Then
    Label19.Text = rdr1(“Soal”).ToString()
    CheckBox1.Text = rdr1(“Jawaban_a”).ToString()
    CheckBox2.Text = rdr1(“Jawaban_b”).ToString()
    CheckBox3.Text = rdr1(“Jawaban_c”).ToString()
    CheckBox4.Text = rdr1(“Jawaban_d”).ToString()
    CheckBox5.Text = rdr1(“Jawaban_e”).ToString()

    Dim gbrs1 As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_soal”), Byte()))
    PictureBox1.Image = Image.FromStream(gbrs1)
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

    Dim gbra As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_a”), Byte()))
    PictureBox2.Image = Image.FromStream(gbra)
    PictureBox2.SizeMode = PictureBoxSizeMode.StretchImage

    Dim gbrb As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_b”), Byte()))
    PictureBox3.Image = Image.FromStream(gbrb)
    PictureBox3.SizeMode = PictureBoxSizeMode.StretchImage

    Dim gbrc As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_c”), Byte()))
    PictureBox4.Image = Image.FromStream(gbrc)
    PictureBox4.SizeMode = PictureBoxSizeMode.StretchImage

    Dim gbrd As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_d”), Byte()))
    PictureBox5.Image = Image.FromStream(gbrd)
    PictureBox5.SizeMode = PictureBoxSizeMode.StretchImage

    Dim gbre As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_e”), Byte()))
    PictureBox6.Image = Image.FromStream(gbre)
    PictureBox6.SizeMode = PictureBoxSizeMode.StretchImage
    End If
    rdr1.Close()
    cmdt1.Dispose()
    conn.close()

  26. Deft anjer
    August 16, 2012 at 10:28 am

    “Ralat om….”
    ass, om mau tnya lgi ni om, masalahnya gni om pada saat menampilkan gambar yang pertama sukses…..kok pada saat MENAMPILKAN gambar kedua dst.. muncul pesan error :{“Parameter is not valid.”}….!!, tlg dikoreksi ya om dimananya yang salah….?
    ni souce codenya om…..!!!
    Dim sqlstr As String = “SELECT* FROM soal where paket=@paket and No_soal=@No_soal” Dim cmdt1 As New MySqlCommand(sqlstr, conn.Open)
    With cmdt1.Parameters
    .AddWithValue(“@paket”,combobox1.Text.Trim)
    .AddWithValue(“@No_soal”, combobox2.Text.Trim)
    End With
    Dim rdr1 As MySqlDataReader = cmdt1.ExecuteReader(CommandBehavior.CloseConnection)
    If rdr1.Read = True Then
    Label19.Text = rdr1(“Soal”).ToString()
    CheckBox1.Text = rdr1(“Jawaban_a”).ToString()
    CheckBox2.Text = rdr1(“Jawaban_b”).ToString()
    CheckBox3.Text = rdr1(“Jawaban_c”).ToString()
    CheckBox4.Text = rdr1(“Jawaban_d”).ToString()
    CheckBox5.Text = rdr1(“Jawaban_e”).ToString()
    Dim gbrs1 As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_soal”), Byte()))
    PictureBox1.Image = Image.FromStream(gbrs1)
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
    Dim gbra As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_a”), Byte()))
    PictureBox2.Image = Image.FromStream(gbra)
    PictureBox2.SizeMode = PictureBoxSizeMode.StretchImage
    Dim gbrb As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_b”), Byte()))
    PictureBox3.Image = Image.FromStream(gbrb)
    PictureBox3.SizeMode = PictureBoxSizeMode.StretchImage
    Dim gbrc As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_c”), Byte()))
    PictureBox4.Image = Image.FromStream(gbrc)
    PictureBox4.SizeMode = PictureBoxSizeMode.StretchImage
    Dim gbrd As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_d”), Byte()))
    PictureBox5.Image = Image.FromStream(gbrd)
    PictureBox5.SizeMode = PictureBoxSizeMode.StretchImage
    Dim gbre As New System.IO.MemoryStream(CType(rdr1.Item(“Gbr_e”), Byte()))
    PictureBox6.Image = Image.FromStream(gbre)
    PictureBox6.SizeMode = PictureBoxSizeMode.StretchImage
    End If
    rdr1.Close()
    cmdt1.Dispose()
    conn.close()

    • August 16, 2012 at 11:05 am

      Pesan error yg aneh, klo field gambar bernilai null, harusnya pesan errornya :

      Unable to cast object of type 'System.DBNull' to type 'System.Byte[]'.
      

      Klo salah nama field, pesan errornya :

      Could not find specified column in results: nama_field
      

      Lah ini kok malah pesan errornya :

      Parameter is not valid.
      

      Ini kan berarti salah menyebutkan nama parameter jadi enggak ada hubungannya dg gagal menampilkan gambar ke dua… dst

  27. ovy
    September 9, 2012 at 5:32 pm

    Ass, Om mau nanya ni om, Gimana cara Menyimpan Teks Pada RichTexBox ke dlm database mysql Agar Format Tulisannya Gak Berubah….???

  28. mengki
    October 1, 2012 at 8:34 pm

    msi gan saya mau nanya klo nyimpan gambar di mysql dengan vb 6 gmn cra nya…..

  29. yudi
    October 4, 2012 at 1:03 pm

    mas terima kasih banyak atas ilmunya aplikasi saya berhasil

  30. yudi
    October 4, 2012 at 1:19 pm

    mas gimana cara nya kl nyetak image pada vb,net

  31. November 28, 2012 at 9:54 am

    saya pengen meresize gambar lewat php kemudian hasil new resize itu juga bisa tersimpan di servernya atau databasenya…. tu bagaimana ya sriptnya???
    ini script saya..script resizenya di taroh mana???

    <?php
    if($_POST["submit"]=="Update"){
    $namafolder="upload/"; //tempat menyimpan file
    if (!empty($_FILES["nama_file"]["tmp_name"]))
    {
    $jenis_gambar = $_FILES['nama_file']['type'];
    $nip = $_POST["nip"];
    $nama = $_POST["nama"];
    $bagian = $_POST["bagian"];
    $alamat = $_POST["alamat"];
    $tanggal_lahir=$_POST["tanggal_lahir"];
    $nohp = $_POST["nohp"];

    if($jenis_gambar=="image/jpeg" || $jenis_gambar=="image/jpg" || $jenis_gambar=="image/gif" || $jenis_gambar=="image/x-png")
    {

    $gambar = $namafolder .basename($_POST['nip']).'.'.basename($_FILES['nama_file']['type']);

    if (move_uploaded_file($_FILES['nama_file']['tmp_name'], $gambar)) {
    $sql="update data_karyawan set nip='$nip',nama='$nama',bagian='$bagian',alamat='$alamat',nohp='$nohp',nama_file='$gambar' WHERE nip='".$_GET["nip"]."'";
    $res=mysql_query($sql) or die (mysql_error());
    echo "Data Berhasil Di Ubah ".$gambar;
    echo "NIP : $nip”;
    echo “”;
    echo “$gambar”;
    } else {
    echo “Gambar gagal dikirim”;
    }}
    else{
    echo “Jenis gambar yang anda kirim salah. Harus .jpg .gif .png”;
    }}
    else {
    echo “Anda belum memilih gambar”;
    }

    }
    ?>

    bagi yang bisa.. tolong balas coment saya secepatnya yaa…

  32. February 13, 2013 at 8:24 pm

    maaf om agak ngawur :), saya menggunakan cara penyimpan dengan menggunakan class seperti ini :

    Sub addRecord(ByVal nama As String, ByVal tempat_lahir As String)

    Try
    Dim cmd As New MySqlCommand(String.Format(“INSERT INTO `tblproduk` ( `nik` , `nama` , `tempat_lahir` )VALUES (NULL , ‘{0}’, ‘{1}’)”, nama, tempat_lahir), conn)
    cmd.ExecuteNonQuery()
    MsgBox(“Your Record Added Successfully!”, MsgBoxStyle.Information, “Successful!”)
    Catch ex As Exception
    MsgBox(“Your Record Added Successfully!”, MsgBoxStyle.Information, “Successful!”)
    End Try

    End Sub

    kalau untuk menyimpan gambar, seperti topik di atas gimana yah.. codingnya, mohon pencerahanya om,

    • February 14, 2013 at 1:37 pm

      Om ini pertanyaannya ngebingungin, di ataskan sy juga ngasih contohnya pake VB .NET, kode yg om tulis di atas juga pake VB .NET trus butuh pencerahan apa lagi ?

  33. February 14, 2013 at 9:28 pm

    makanya judulnya agak ngawur,,,dah tau ada malah di ada-adain, bikin ruet sendiri,

    Dim fileName As String = “E:\Gambar\k4m4r82.jpg

    kalau menggunakan open dialog atau diambil dari pictur box, penulisan variabel di atas gimana om, codingnya, mohon pencerahanya lagi,

    • February 16, 2013 at 11:53 am

      Coba gini om :

      Using dlgOpen As New System.Windows.Forms.OpenFileDialog
          Dim result As DialogResult = System.Windows.Forms.DialogResult.Cancel
      
          With dlgOpen
              ' does not add an extension to a file name if the user omits the extension
              '.AddExtension = True
      
              ' dialog box does not allow multiple files to be selected
              '.Multiselect = False
      
              ' Excel file only
              .Filter = "Microsoft Excel files (*.xls)|*.xls"
      
              result = .ShowDialog()
              If result = Windows.Forms.DialogResult.OK Then
                  MessageBox.Show (.fileName)
              End If
          End With
      End Using
      
      • February 18, 2013 at 10:35 pm

        g bisa nyimpen om, ada error pada baris 12 (btnsimpan), untuk variabel pada baris 4 (btnsimpan), tetapi itu saja atau dirubah ??

        • February 19, 2013 at 9:04 am

          Pesan errornya apa ? Trus pake VB .NET versi brp ?

  34. February 19, 2013 at 6:10 pm

    pesan error ngeblok warna kuning, pake vb.net 2008

    • February 20, 2013 at 4:36 pm

      Maksud sy itu bukan blok warna kuningnya om, tetapi “pesan errornya” itu loh yang pake bahasa inggris.

  35. April 17, 2013 at 1:54 pm

    jika menyimpannya di komputer server gimana. saya tidak tahu mengganti 127.0.0.1 atau localhost. ingin diganti ip server

    • April 17, 2013 at 2:47 pm

      Ya tinggal diganti aj ke ip 127.0.0.1 ke ip komputer server yg sebenarnya misal 192.168.1.1

  36. faizal
    May 11, 2013 at 7:24 am

    mohon bantuannya donk bang admin
    Public Sub ChangeAvatar(ByVal _imgname As String)
    Dim FileSize As UInt32
    Dim rawData() As Byte
    Dim fs As FileStream
    fs = New FileStream(“C:\Users\Dunpul\Documents\Images\6HNm4fb31ce96748e.jpg”, FileMode.Open, FileAccess.Read)
    FileSize = fs.Length

    rawData = New Byte(FileSize) {}
    fs.Read(rawData, 0, FileSize)
    fs.Close()

    Try
    Dim cn As New MySqlConnection(“server=localhost; database=duniapulsa; user id=root; password=;”)
    cn.Open()
    Using cm As New MySqlCommand(“INSERT INTO Pict (gambar) VALUES (@gambar)”, cn)
    cm.Parameters.AddWithValue(“@gambar”, IO.File.ReadAllBytes(“C:\Users\Dunpul\Documents\Images\6HNm4fb31ce96748e.jpg”))
    cm.ExecuteNonQuery()
    End Using
    Catch ex As Exception
    Throw ex
    End Try
    MsgBox(“Done”)
    End Sub
    ini script saya, waktu saya save ke mysql kok hasilnya nilai image nya NULL ya?? sudah coba berbagai cara tetap hasilnya sama. Thx. before ya.

  37. dias
    June 16, 2013 at 8:20 pm

    tanya om 😀 saya mau menampilkan gambar dari database ke array picturebox (9 jumlah picturebox nya) yang pertama load berhasil, terus tombol next (di form yang sama dan array picturebox yang sama) mau munculin gambar yang beda, nah gambar baru saya ada di belakang gambar lama. gimana cara bringtofront nya om? udah nyoba codingan bringtofront tetep ngga bisa. gimana ya om? makasih udah bantu 🙂

    • June 24, 2013 at 1:56 pm

      Klo main2xnya diproperties Visible g mana om ?

      Picture1(0).Visible = False
      Picture1(1).Visible = True
      
  38. Rocky Tarigan
    December 16, 2013 at 1:32 pm

    Mas bro, kalo untuk menampilkan gambar yang udah di simpan gmna caranya ??

    kok saya gagal terus ya

    ??

    :Mohon di bantu mas bro…………….

    • December 23, 2013 at 1:47 pm

      Silahkan dicoba lagi ..
      Sy bukan orang PINTAR yg bisa langsung tau dengan pesan error “kok saya gagal terus ya”

  39. efan
    February 5, 2014 at 9:44 am

    Permisi gan, kalo mau ngsavenya dari PictureBox gimana ya querynya? mohon pencerahannya 🙂 lagi ngerjain TA soalnya 😥

    kalo tidak keberatan tolong di reply ya, atau ke email ane Chunk24.himawan@gmail.com

    sebelumnya makasih ya gan 🙂

  40. rizaru
    March 17, 2014 at 2:12 pm

    Misi om… mau nanya… saya ingin menerapkan script diatas kedalam OOP dengan menggunakan parameter… pada saat menyimpan file gambar tidak ada masalah… namun pada saat ingin menampilkannya kembali… saya bingung menerapkan masalah propertynya…

    =====================================================================
    Form1.vb Tombol Cari
    =====================================================================
    Private Sub btn_Cari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cari.Click
    Try
    Dim akses_SISWA As New AccessData.Akses_Siswa
    Dim daftar As List(Of Siswa_Class) = akses_SISWA.CariSiswaByNis(TextBox1.Text.Trim, “Find”)
    TextBox1.Text = daftar.First.NIS
    TextBox2.Text = daftar.First.NIK
    TextBox3.Text = daftar.First.NamaLengkap
    TextBox4.Text = daftar.First.NamaPanggilan
    TextBox5.Text = daftar.First.TempatLahir
    DateTimePicker1.Value = daftar.First.TanggalLahir
    TextBox6.Text = daftar.First.Alamat
    ComboBox1.Text = daftar.First.TempatTinggal
    TextBox8.Text = daftar.First.NamaOrtu
    TextBox9.Text = daftar.First.NoHp

    Catch ex As Exception
    MsgBox(ex.Message)
    End Try

    End Sub
    =======================================================================

    ========================================================================
    Class_Siswa.vb
    ======================================================================
    Public Class Siswa_Class
    #Region “variabel”
    Private m_Nis As String
    Private m_Nik As String
    Private m_NamaLengkap As String
    Private m_Namapanggilan As String
    Private m_Tempatlahir As String
    Private m_TanggalLahir As Date
    Private m_Alamat As String
    Private m_TempatTinggal As String
    Private m_NamaOrtu As String
    Private m_NoHP As String
    Private m_Photo As String
    #End Region
    #Region “Property”
    Public Property Photo() As String
    Get
    Return m_Photo
    End Get
    Set(ByVal value As String)
    m_Photo = value
    End Set
    End Property
    #End Region
    End Class
    ========================================================================

    ========================================================================
    Class_Akses_Siswa.vb
    ========================================================================
    Imports MySql.Data
    Imports MySql.Data.MySqlClient
    Namespace AccessData
    Public Class Akses_Siswa
    Private my_koneksi As New AksesData.Koneksi_Class
    Public parameterDS_NIS As MySqlParameter = New MySqlParameter(“@DS_Nis”, MySqlDbType.VarChar, 12)
    Public parameterDS_NIK As MySqlParameter = New MySqlParameter(“@DS_Nik”, MySqlDbType.VarChar, 15)
    Public parameterDS_NamaL As MySqlParameter = New MySqlParameter(“@DS_NamaL”, MySqlDbType.VarChar, 25)
    Public parameterDS_NamaP As MySqlParameter = New MySqlParameter(“@DS_NamaP”, MySqlDbType.VarChar, 10)
    Public parameterDS_TempatLahir As MySqlParameter = New MySqlParameter(“@DS_TempatLahir”, MySqlDbType.VarChar, 25)
    Public parameterDS_TanggalLahir As MySqlParameter = New MySqlParameter(“@DS_TanggalLahir”, MySqlDbType.Date)
    Public parameterDS_Alamat As MySqlParameter = New MySqlParameter(“@DS_Alamat”, MySqlDbType.Text)
    Public parameterDS_TempatTinggal As MySqlParameter = New MySqlParameter(“@DS_TTinggal”, MySqlDbType.VarChar, 50)
    Public parameterDS_NamaOrtu As MySqlParameter = New MySqlParameter(“@DS_NmOrtu”, MySqlDbType.VarChar, 25)
    Public parameterDS_NoHP As MySqlParameter = New MySqlParameter(“@DS_NoHP”, MySqlDbType.VarChar, 13)
    Public parameterDS_photo As MySqlParameter = New MySqlParameter(“@DS_Photo”, MySqlDbType.LongBlob)

    Public Function CariSiswaByNis(ByVal NIS As String, ByVal ProcessName As String) As List(Of Siswa_Class)
    Dim LSiswa As New List(Of Siswa_Class)()
    Try
    Dim strSQL As String = “SELECT * from data_siswa WHERE nis=@DS_NisC”
    Dim mycommand As New MySqlCommand(strSQL, my_koneksi.buka_koneksi)
    mycommand.Parameters.Add(“@DS_Nisc”, MySqlDbType.VarChar).Value = NIS
    Dim rdr As MySqlDataReader = mycommand.ExecuteReader
    If rdr.Read = False Then
    If ProcessName = “Find” Then
    Throw New Exception(“NIS SALAH atau Data Siswa yang dicari tidak ditemukan”)
    End If
    Else
    If ProcessName = “Save” Then
    Throw New Exception(“Nis sudah ada didalam table”)
    End If
    Dim siswaS As New Siswa_Class()
    siswaS.NIS = rdr(“nis”).ToString()
    siswaS.NIK = rdr(“nik”).ToString()
    siswaS.NamaLengkap = rdr(“nama_lengkap”).ToString()
    siswaS.NamaPanggilan = rdr(“nama_panggilan”).ToString()
    siswaS.TempatLahir = rdr(“tempat_lahir”).ToString
    siswaS.TanggalLahir = rdr(“tanggal_lahir”).ToString
    siswaS.Alamat = rdr(“alamat”).ToString
    siswaS.TempatTinggal = rdr(“tempat_tinggal”).ToString
    siswaS.NamaOrtu = rdr(“nama_ortu”).ToString
    siswaS.NoHp = rdr(“no_hp”).ToString
    Dim gambar_DB As New IO.MemoryStream(CType(rdr.Item(“photo”), Byte()))

    siswaS.Photo = rdr(“photo”).ToString
    LSiswa.Add(siswaS)
    End If
    rdr.Close()
    Catch sqlex As MySqlException
    Throw New Exception(sqlex.Message.ToString())
    End Try
    Return LSiswa
    End Function
    End Class
    End Namespace
    =======================================================================

    • March 17, 2014 at 2:30 pm

      Dari source codenya om, yang disimpan didatabase hanya lokasi fotonya saja ? Iya enggak ?
      Sedang contoh postingan saya di atas menyimpan fotonya di database.

      Jadi bukan masalah OOP atau enggak, yg berbeda cara menangani file fotonya saja.

      • rizaru
        March 17, 2014 at 4:05 pm

        gak om, yang saya simpan gambarnya…

        Public parameterDS_photo As MySqlParameter = New MySqlParameter(“@DS_Photo”, MySqlDbType.LongBlob)

        Function Tambah_data()
        ….
        ….
        ….

        parameterDS_photo.Value = IO.File.ReadAllBytes(siswa.Photo)

        With mycommand.Parameters
        ……
        ……
        ……
        .Add(parameterDS_NoHP)
        .Add(parameterDS_photo)

        End With
        End Function

        ….dan berhasil
        untuk menampilkannya yang saya bingung,
        betul yang om bilang saya masih bingung cara menagani filenya, untuk menyimpan Propertynya saya gunakan string, tapi untuk menampilan gimana om? apa untuk propertynya harus dirubah?

      • rizaru
        March 17, 2014 at 5:52 pm

        udah berhasil om… yang saya kirimkan data berupa byte() nya, kalo fungsi CType sendiri untuk apa om?

        • March 17, 2014 at 9:09 pm

          CType fungsi untuk konversi data. Contoh :

          Dim q As Object = 2.37
          Dim i As Integer = CType(q, Integer)
          
  41. April 2, 2014 at 12:54 am

    Om saya cobanya ko G bisa ke simpan ke database ya, saya pakai vb.net 2008 dan Appserv sebagai server mysql.

    • April 2, 2014 at 8:34 am

      Klo bertanya masalah teknis itu harus detil om.

      Pesan errornya apa ?
      Error di baris ke berapa ?
      Method yang menyebabkan error ?
      Struktur tabelnya seperti apa ?
      Klo perlu ikutsertakan screenshot errornya.

      Jadi saya itu bukan orang “SAKTI”, yg bisa langsung tau jawabannya hanya dengan pertanyaan “saya cobanya ko G bisa ke simpan ke database ya”

  1. No trackbacks yet.
Comments are closed.