Menyimpan foto di database Mysql dengan Vb.net
Pada kesempatan ini saya akan mencoba sharing cara menyimpan gambar dengan aplikasi vb.net atau visual studio 2008 di database mysql. untuk menyimpan foto adau gambar kedalam database mysql, kita bisa mengunakan tipe data "mediumblob" tipe data mediumblob maksimum tipe datanya adalah 16 Mb, kalau foto atau gambar ukuranya lebih besar bisa mengunakan "longblob", dalam tutorial sederana ini tipe gambar atau foto yang bisa disimpan hanya tipe Jpeg saja.
Sebelumnya buat dulu sebuah database di mysql dengan nama foto dengan sebuat tabel dengan nama table_mahasiswa, untuk mepermudah pembuatan database dan table di mysql bisa memperunakan tools gratisan seperti navicet dll. disini saya mengunakan navicet sebagai bantuanya. buat tabel seperti ini :
Kemudian buat project baru di VB.net, dengan nama project bebas, buat tanpilan form seperti dibawaah ini.
Jangan lupa tambahkan sebuah object OpenFileDialog1 kedalam form yang kita buat tadi, object OpenFileDialog1 nanti kita akkan kita gunakan untuk mencari file gambar atau foto yang akan kita simpan kedalam database.
Langkah selanjutnya, kita tambahkan sebah class kedalam project dengan nama koneksi dan ketikan kode dibawah ini kedalam class koneksi.
mports MySql.Data.MySqlClient
Public Class Koneksi
Private Conn As MySqlConnection = Nothing
Public Function konek() As MySqlConnection
Dim ConnString As String
ConnString = ";server=localhost;user=root;password=;database=foto"
Try
Conn = New MySqlConnection(ConnString)
Conn.Open()
Catch ex As Exception
MessageBox.Show("Koneksi Erros: " + ex.Message)
End
End Try
Return Conn
End Function
End Class
Tambahkan Juga modul kedalam project dengan nama mymodul, kode dalam mymodul
Imports MySql.Data.MySqlClient
Module myModule
Public conn As New MySqlConnection
Public DTadapter As New MySqlDataAdapter
Public DTset As DataSet
Public DTrow As DataRow
Public CMD As MySqlCommand
Public DTreader As MySqlDataReader
Public DTtable As New DataTable
Public CMDbuild As MySqlCommandBuilder
Public sql As String
Dim currentRow As Integer
Private strkoneksi As String
End Module
Yang terakhir ketikan kode dibawah ini kedalam form input data yang tadi kta buat.
Imports System.IO
Imports MySql.Data.MySqlClient
Public Class Form1
Dim conn As New Koneksi
Sub simpan()
sql = "SELECT*FROM table_mahasiswa where nim='" & Trim(TextBox1.Text) & "'"
CMD = New MySqlCommand(sql, conn.konek)
DTreader = CMD.ExecuteReader()
If DTreader.HasRows Then
MessageBox.Show("Nim Sudah ada ", "error", MessageBoxButtons.OK, MessageBoxIcon.Information)
DTreader.Close()
conn.konek.Close()
Exit Sub
Else
DTreader.Close()
End If
sql = "INSERT INTO table_mahasiswa (nim, nama,telp,alamat, foto) VALUES (@1, @2, @3, @4, @5)"
Using objek As New MySqlCommand(sql, conn.konek)
With objek
.Parameters.Clear()
.Parameters.AddWithValue("@1", TextBox1.Text.Trim)
.Parameters.AddWithValue("@2", TextBox2.Text.Trim)
.Parameters.AddWithValue("@3", TextBox3.Text.Trim)
.Parameters.AddWithValue("@4", TextBox4.Text.Trim)
.Parameters.AddWithValue("@5", IO.File.ReadAllBytes(TextBox5.Text.Trim)) ' foto
.ExecuteNonQuery()
End With
End Using
End Sub
Sub tampilkanfoto()
sql = "SELECT*from table_mahasiswa where nim ='" & TextBox6.Text.Trim & "'"
DTtable = New DataTable
CMD = New MySqlCommand(sql, conn.konek)
DTreader = CMD.ExecuteReader()
If DTreader.HasRows = True Then
DTreader.Read()
TextBox1.Text = DTreader("nim")
TextBox2.Text = DTreader("nama")
TextBox3.Text = DTreader("telp")
TextBox4.Text = DTreader("alamat")
Dim gambar As New IO.MemoryStream(CType(DTreader.Item("foto"), Byte()))
PictureBox1.Image = Image.FromStream(gambar)
DTtable.Clear()
Else
MessageBox.Show("Data yang anda cari tidak dapat kami tampilkan, Masukan NIM Mahasiswa ")
End If
conn.konek.Close()
End Sub
Sub hapus()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
PictureBox1.ImageLocation = ""
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim openDlg As OpenFileDialog = New OpenFileDialog
openDlg.Filter = "All JPEG files|*.jpg"
Dim filter As String = openDlg.Filter
openDlg.Title = "Open a JPEG File"
If (openDlg.ShowDialog() = DialogResult.OK) Then
TextBox5.Text = openDlg.FileName
PictureBox1.ImageLocation = openDlg.FileName
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call simpan()
Call hapus()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Call tampilkanfoto()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
End Class
========================================================
Kalau tidak ada rintangan dan halangan insya Allah jika kita running akan tampil seperti ini. untuk menampilkan data isi NIM mahasiswa yang telah kita input.
Bila ada yang merasa terbantu dengan Tutorial di blog ini, mohon di klik iklan-iklan disamping sebagai donasi untuk memperpanjang usia domain dan hosting, terimakasih
Bila ada yang merasa terbantu dengan Tutorial di blog ini, mohon di klik iklan-iklan disamping sebagai donasi untuk memperpanjang usia domain dan hosting, terimakasih
0 comments:
Post a Comment