Assalamu’alaikum Wr Wb
Pada DSN=contohjual Sesuaikan dengan isi data source name di MysqlConnectorODBC yang telah dibuat sebelumnya.
Untuk source code keseluruhan sebagai berikut:
Selamat datang di web sibukngoding.com. Pada kesempatan kali
ini saya akan menjelaskan materi tentang cara membuat program input data
menggunakan vb.net. Materi ini merupakan lanjutan dari materi sebelumnya
tentang cara menampilkan data dari database ke datagrid. Pada tutorial kali ini saya menggunakan Visual
Studio 2010, XAMPP versi 5.6 dan connector ODBC versi 5.1. Bagi yang beda versi
silahkan menyusuaikan dan mudah-mudahan masih bisa jika versinya tidak terlalu
jauh perbedaannya.
Langkah pertama silahkan buat database beserta tabelnya.
Karena disinilah tempat untuk menyimpan data yang telah diinputkan. Jika belum
paham cara buat database dan tabelnya bisa di lihat disini. Untuk database yang
dibuat, sebagai contoh saya kasih nama dbjualcontoh.
Sedangkan nama tabelnya adalah barang.
Untuk struktur tabelnya bisa dilihat di bawah ini,
Setelah database dan tabel berhasil dibuat, langkah
selanjutnya kita setting Mysql Connector ODBC driver. Jika belum paham caranya
bisa klik disini.
Untuk DSN saya isi contohjual
dan untuk database disamakan dengan nama database yang telah dibuat sebelumnya.
Jika sudah selesai dibuat dan koneksi sukses, langkah
selanjutnya kita masuk ke visual studio.
Buat project baru dan formnya dibuat seperti berikut ini:
Saya harap sudah paham tool yang dimasukkan di formnya, lalu
untuk propertis kita atur seperti di bawah ini:
Tool Control
|
Propertis
|
Value
|
Form1
|
Name
|
Frmbarang
|
Text
|
Input Data Barang
|
|
Label1
|
Text
|
Kode Barang
|
Label2
|
Text
|
Nama Barang
|
Label3
|
Text
|
Satuan Barang
|
Label4
|
Text
|
Harga Barang
|
Textbox1
|
Name
|
txtkodebarang
|
Text
|
||
Textbox2
|
Name
|
txtnamabarang
|
Text
|
||
Textbox3
|
Name
|
txtsatuanbarang
|
Text
|
||
Textbox4
|
Name
|
txthargabarang
|
Text
|
||
Button1
|
Name
|
btsimpan
|
Text
|
&Simpan
|
|
Button2
|
Name
|
btbatal
|
Text
|
&Batal
|
|
Button3
|
Name
|
bthapus
|
Text
|
&Hapus
|
|
Button4
|
Name
|
btkeluar
|
Text
|
&Keluar
|
|
DataGridView1
|
Name
|
DGVbarang
|
Langkah selanjutnya kita masukkan source code nya. Silahkan
masuk dulu ke jendela view Source dengan cara tekan F7
Ketikkan source code
import ODBC di atas sendiri atau diatasnya Public Class frmbarang
Imports
System.Data.Odbc
Setelah itu kita buat Variabel
yang akan digunakan. Disini saya menggunakan 6 Variabel yaitu
- DSN merupakan nama variabel yang digunakan untuk menyimpan data data source name yang telah kita buat di ODBC
- Conn merupakan nama variabel yang isinya mereferensikan pada OdbcCOnnection yang berfungsi sebagai penyedia koneksi dari sumber data atau database.
- DA merupakan variabel yang isinya mereferensikan pada OdbcDataAdapter yang berfungsi mengisi Object Dataset dengan hasil data dari sumber data atau database.
- CMD Merupakan variabel yang isinya mereferensikan pada ODBCcommand yang digunakan untuk melakukan pernyataan SQl atau prosedur yang akan dilaksanakan pada database. Seperti yang kita tahu bahawa perintah input pada mysql menggunakan fungsi insert, nah fungsi tersebut nantinya akan dituliskan di ODBCcommand. Dalam prakteknya, nanti ada 3 perintah digunakan untuk mengeksekusi perintah SQL di ODBCcommand yaitu ExecuteNonQuery, ExecuteReader dan ExecuteSecalar. ExecuteNonQuery digunakan untuk mengeksekusi Script SQL Data Definition Language(DDL) seperti insert, Update dan delete. ExecuteReader digunakan untuk Mengeksekusi Scrip SQL berupa perintah select saja. Output dari ExecuteReader nanti akan disimpan di variabel OdbcDataReader. Sedangkan ExecuteSecalar hampir sama fungsinya dengan ExecuteReader. Bedanya ExecuteSecalar outputnya adalah object, dan hanya menghasilkan data pada kolom pertama dan baris pertama.
- RD Merupakan varianel yang isinya mereferensikan pada OdbcDataReader yang berfungsi mengambil data dari database dalam mode read-only dan mode fordward.
- DS Merupakan nama variabel yang isinya mereferensikan pada Dataset yang berfungsi menyimpan data dari sumber data atau database, jadi data didataset inilah yang akan ditampilkan di DatagridView
Ketikan
variabel-variabel diatas di bawahnya Public Class frmbarang
Dim DSN
As String
Public Conn
As OdbcConnection
Public DA As OdbcDataAdapter
Public DS As DataSet
Public CMD As OdbcCommand
Public RD As OdbcDataReader
Selanjutnya kita buat sub procedure baru dengan nama koneksi() yang berisi perintah koneksi
dari vb.net ke database. Ketikkan di bawahnya source code variabel.
Public Sub
Koneksi()
DSN = "DSN=contohjual"
Try
Conn = New
OdbcConnection(DSN)
Conn.Open()
Catch
ex As Exception
MsgBox("Koneksi
Gagal")
End Try
End Sub
Pada DSN=contohjual Sesuaikan dengan isi data source name di MysqlConnectorODBC yang telah dibuat sebelumnya.
Selanjutnya kita buat sub procedure dengan nama bersihkan() yang nantinya berisi
perintah untuk membersihkan tulisan yang telah kita ketikkan di textbox saat
input data. Ketikkan source code nya dibawab sub procedure koneksi()
Sub bersihkan()
txtkodebarang.Clear()
txtnamabarang.Clear()
txtsatuanbarang.Clear()
txthargabarang.Text = "0"
txtkodebarang.Focus()
End Sub
Selanjutnya kita buat sub precedure lagi dengan nama tampil_data() yang berisi perintah
untuk menampilkan data dari database ke datagridview. Ketikkan Source codenya
dibawah sub procedure bersihkan().
Sub tampil_data()
Koneksi()
DA = New
OdbcDataAdapter("SELECT
* FROM barang", Conn)
DS = New
DataSet
DA.Fill(DS, 0)
dgvbarang.DataSource = DS.Tables(0)
dgvbarang.ReadOnly = True
Conn.Close()
End Sub
Perintah select *
from barang menunjukkan bahwa data ditampilkan dari tabel barang. Sesuaikan
dengan nama tabel yang telah temen- temen buat sebelumnya.
Selanjutnya kita kita Kembali ke form dengan menekan tombol Shift+F7. Lalu kita masuk ke form_load . Form_load merupakan suatu
event yang akan dieksekusi saat program pertama kali dijalankan. Untuk masuk ke
form load, kita klik formnya 2x.
Atau kita klik sekali, lalu masuk ke propertis event(Gambar
Petir kuning), lalu pilih load
Lalu ketikkan di form_load
Source Code berikut ini:
bersihkan()
tampil_data()
Setelah itu kita masukkan souce code di tombol simpan. Klik
tombol simpan 2x lalu ketikkan source code berikut:
Try
Koneksi()
CMD = New
OdbcCommand("SELECT
kode_barang FROM barang WHERE kode_barang = '" + txtkodebarang.Text
+ "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If
Not RD.HasRows Then
Koneksi()
CMD = New
OdbcCommand("INSERT
INTO barang VALUES (?,?,?,?)", Conn)
With
CMD
.Parameters.AddWithValue("?", txtkodebarang.Text)
.Parameters.AddWithValue("?", txtnamabarang.Text)
.Parameters.AddWithValue("?", txtsatuanbarang.Text)
.Parameters.AddWithValue("?", txthargabarang.Text)
.ExecuteNonQuery()
End
With
Conn.Close()
Else
Koneksi()
CMD = New
OdbcCommand("UPDATE
barang set nama_barang=?, satuan_barang=?, harga_barang=? WHERE
kode_barang=?", Conn)
With
CMD
.Parameters.AddWithValue("?", txtnamabarang.Text)
.Parameters.AddWithValue("?", txtsatuanbarang.Text)
.Parameters.AddWithValue("?", txthargabarang.Text)
.Parameters.AddWithValue("?", txtkodebarang.Text)
.ExecuteNonQuery()
End
With
Conn.Close()
End
If
Conn.Close()
bersihkan()
tampil_data()
Catch
ex As Exception
MsgBox(ex.Message)
End Try
Pada fungsi diatas selain digunakan untuk menyimpan data
juga terdapat source code yang berfungsi sebagai edit data. Pada source code di
atas terdapat fungsi if yang menyatakan jika kode barang yang kita masukkan
belum ada di tabel barang, maka fungsi simpan(Insert) yang akan dijalankan. Lalu jika sebaliknya, fungsi edit(update) yang akan dijalankan.
Setelah itu kita masukkan souce code di tombol batal. Klik
tombol batal 2x lalu ketikkan source code berikut:
tampil_data()
bersihkan()
Setelah itu kita masukkan souce code di tombol Hapus. Klik
tombol hapus 2x lalu ketikkan source code berikut:
If
txtkodebarang.Text = "" Then
MsgBox("Isi
terlebih dahulu kode barang")
ElseIf
MsgBox("Apakah Anda yakin ingin menghapus data
ini?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Try
Koneksi()
CMD = New
OdbcCommand("DELETE
FROM barang WHERE kode_barang ='" + txtkodebarang.Text + "'", Conn)
CMD.ExecuteNonQuery()
Conn.Close()
tampil_data()
bersihkan()
Catch
ex As Exception
MsgBox(ex.Message)
End
Try
Else
bersihkan()
End If
End Sub
Setelah itu kita masukkan souce code di tombol Keluar. Klik
tombol keluar 2x lalu ketikkan source code berikut:
Me.Close()
Setelah itu kita masukkan source code yang berfungsi untuk
menampilkan data dari datagridview ke textbox. Jadi data yang ada di datagrid
view akan tampil di textbox setelah data di datagrid kita klik 2x. Fungsi ini
digunakan pada saat akan mengedit atau menghapus data. Untuk source codenya
kita masukkan di datagridview dengan
event cell click
Setelah itu masukkan scrip berikut:
Try
Dim
i = e.RowIndex
Koneksi()
CMD = New
OdbcCommand("SELECT
* FROM barang WHERE kode_barang = '" + dgvbarang.Item(0, i).Value +
"'", Conn)
RD = CMD.ExecuteReader
If
RD.HasRows Then
txtkodebarang.Text =
RD(0).ToString
txtnamabarang.Text =
RD(1).ToString
txtsatuanbarang.Text =
RD(2).ToString
txthargabarang.Text =
RD(3).ToString
End
If
Conn.Close()
Catch
ex As Exception
MsgBox(ex.Message)
End Try
Imports System.Data.Odbc
Public Class frmbarang
Dim DSN As String
Public Conn As OdbcConnection
Public DA As OdbcDataAdapter
Public DS As DataSet
Public CMD As OdbcCommand
Public RD As OdbcDataReader
Public Sub Koneksi()
DSN = "DSN=contohjual"
Try
Conn = New OdbcConnection(DSN)
Conn.Open()
Catch ex As Exception
MsgBox("Koneksi Gagal")
End Try
End Sub
Sub bersihkan()
txtkodebarang.Clear()
txtnamabarang.Clear()
txtsatuanbarang.Clear()
txthargabarang.Text = "0"
txtkodebarang.Focus()
End Sub
Sub tampil_data()
Koneksi()
DA = New OdbcDataAdapter("SELECT * FROM barang", Conn)
DS = New DataSet
DA.Fill(DS, 0)
dgvbarang.DataSource = DS.Tables(0)
dgvbarang.ReadOnly = True
Conn.Close()
End Sub
Private Sub frmbarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
bersihkan()
tampil_data()
End Sub
Private Sub btsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btsimpan.Click
Try
Koneksi()
CMD = New OdbcCommand("SELECT kode_barang FROM barang WHERE kode_barang = '" + txtkodebarang.Text + "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
Koneksi()
CMD = New OdbcCommand("INSERT INTO barang VALUES (?,?,?,?)", Conn)
With CMD
.Parameters.AddWithValue("?", txtkodebarang.Text)
.Parameters.AddWithValue("?", txtnamabarang.Text)
.Parameters.AddWithValue("?", txtsatuanbarang.Text)
.Parameters.AddWithValue("?", txthargabarang.Text)
.ExecuteNonQuery()
End With
Conn.Close()
Else
Koneksi()
CMD = New OdbcCommand("UPDATE barang set nama_barang=?, satuan_barang=?, harga_barang=? WHERE kode_barang=?", Conn)
With CMD
.Parameters.AddWithValue("?", txtnamabarang.Text)
.Parameters.AddWithValue("?", txtsatuanbarang.Text)
.Parameters.AddWithValue("?", txthargabarang.Text)
.Parameters.AddWithValue("?", txtkodebarang.Text)
.ExecuteNonQuery()
End With
Conn.Close()
End If
Conn.Close()
bersihkan()
tampil_data()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btbatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btbatal.Click
tampil_data()
bersihkan()
End Sub
Private Sub dgvbarang_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvbarang.CellClick
Try
Dim i = e.RowIndex
Koneksi()
CMD = New OdbcCommand("SELECT * FROM barang WHERE kode_barang = '" + dgvbarang.Item(0, i).Value + "'", Conn)
RD = CMD.ExecuteReader
If RD.HasRows Then
txtkodebarang.Text = RD(0).ToString
txtnamabarang.Text = RD(1).ToString
txtsatuanbarang.Text = RD(2).ToString
txthargabarang.Text = RD(3).ToString
End If
Conn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btkeluar.Click
Me.Close()
End Sub
Private Sub bthapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bthapus.Click
If txtkodebarang.Text = "" Then
MsgBox("Isi terlebih dahulu kode barang")
ElseIf MsgBox("Apakah Anda yakin ingin menghapus data ini?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Try
Koneksi()
CMD = New OdbcCommand("DELETE FROM barang WHERE kode_barang ='" + txtkodebarang.Text + "'", Conn)
CMD.ExecuteNonQuery()
Conn.Close()
tampil_data()
bersihkan()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
bersihkan()
End If
End Sub
End Class
Jika semua source codenya sudah dimasukkan, saatnya kita
coba jalankan atau di run, maka hasilnya seperti berikut ini
Sekarang kita coba satu per satu fungsi tombolnya. Untuk
menambahkan data, kita isikan dulu datanya lalu tekan simpan
Jika benar, maka data yang kita ketikkan akan masuk ke
datagridview seperti di bawah ini
Untuk Edit data, Kita klik 2x data di datagridview hingga
muncul di textbox.
Lalu kita ganti data yang ingin di edit, seumpama saya ingin
mengganti supermi menjadi indomie. Setelah selesai diganti kita klik tombol
simpan.
Jika program benar, maka data di datagrid akan berganti.
Untuk
hapus hampir sama saat akan edit data, kita klik data di datagrid yang akan
dihapus sampai muncul di textbox, setelah itu klik tombol hapus.
Jika benar maka data yang ada di datagrid akan hilang.
Demikian sedikit tutorial cara membuat program input data
dengan menggunakan vb.net. Tentu saja program diatas masih sangat sederhana dan
perlu pengembangan. Jadi silahkan program diatas dikembangkan lebih lanjut. Jika
teman-teman ada pertanyaan bisa ditanyakan lewat kolom komentar. Tetap kunjungi
web sibukngoding.com untuk mendapatkan tutorial bahasa pemrograman lainnya.
Terimakasih atas kunjungannya, selamat belajar, tetap
semangat dan jangan mudah menyerah.
Wassalamu’alaikum Wr Wb
Comments
Post a Comment
- Berkomentarlah dengan bijak, Komentar akan di moderasi dahulu sebelum ditampilkan.