Siapkan sebuah database di SQL Server 2005, pada komputer saya servernya saya beri nama ISLAM, dengan nama database GUDANG
Kita lanjutkan
Sekarang aktifkan Visual Basic.NET 2005 dan buat sebuah project baru namanya juga terserah anda. (saya sendiri memberi nama project ini GUDANG)
Siapkan sebuah Module baru yang berfungsi untuk membuat koneksi kedatabase atau tempat menyimpan fungsi atau prosedur yang kita butuhkan dalam pembuatan program.
Langkah pembuatan module : klik kanan nama project yang ada di Window Solution Explorer, lalu pilih Add –> Module. Secara default VB akan memberi nama Module1.
Imports System.Data.SqlClient
Module Module1
Conn.Open()
Return Conn
End Function
End Module
Sekali lagi untuk nama server, database, user dan password sesuaikan dengan komputer yang anda pakai.
Tahap selanjutnya siapkan form baru dengan contoh disain seperti gambar berikut.
Komponen yang ada pada form terdiri dari 6 Label (text label sesuaikan dengan gambar),
TextKode
TextNama
TextAlamat
TextTelepon
TextKontakPerson
TextEmail
ButtonTambah
ButtonSimpan
ButtonHapus
ButtonUpdate
ButtunKeluar
Saatnya Coding……,
Setelah semua komponen tersusun dalam Form saat kita melakukan coding program.
Pada bagian atas ketikan kode berikut untuk meng-import Class Data SQL sehingga kita bisa melakukan koneksi ke database.
Imports System.Data.SqlClient
Selanjutnya pelajari code program berikut baris perbaris sambil memperhatikan komentar kode program yang saya sisipkan pada setiap prosedur.
PanggilData()
ButtonSimpan.Enabled = False
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
End Sub
Sub GridBerwarna()
With Me.GridSupplier
.RowsDefaultCellStyle.BackColor = Color.BlanchedAlmond
.AlternatingRowsDefaultCellStyle.BackColor = Color.Azure
End With
End Sub
‘ Prosedur panggildata
Sub PanggilData()
Dim Adapter As New SqlDataAdapter(“select * from supplier”, Module1.Koneksi)
Adapter.Fill(dt)
GridSupplier.DataSource = dt
Call GridBerwarna()
End Sub
‘Prosedur Form kosong (berfungsi untuk mengosongkan TetxBox dangan pengaturan focus)
Sub FormKosong()
TextKode.Text = “”
TextNama.Text = “”
TextAlamat.Text = “”
TextTelepon.Text = “”
TextKontakPerson.Text = “”
TextEmail.Text = “”
TextKode.Focus()
End Sub
Sub FormHidup()
TextKode.Enabled = True
TextNama.Enabled = True
TextAlamat.Enabled = True
TextTelepon.Enabled = True
TextKontakPerson.Enabled = True
TextEmail.Enabled = True
End Sub
Sub FormNormal()
Call FormKosong()
ButtonTambah.Enabled = True
ButtonHapus.Enabled = False
ButtonSimpan.Enabled = False
ButtonKeluar.Text = “&Keluar”
End Sub
Call FormHidup()
Call FormKosong()
Call PanggilData()
ButtonSimpan.Enabled = True
ButtonTambah.Enabled = False
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
ButtonKeluar.Text = “&Normal”
TextKode.Focus()
End Sub
‘Cek Kode
& ” VALUES (‘” & TextKode.Text & “‘,'” & TextNama.Text & “‘, ‘” & TextAlamat.Text & “‘, ‘” _
& TextTelepon.Text & “‘, ‘” & TextKontakPerson.Text & “‘, ‘” & TextEmail.Text & “‘)”
‘ Periksa hati-hati tanda kutip untuk setiap variabel, salah ketik mengakibatkan query anda tidak akan terbaca.
command.ExecuteNonQuery()
Module1.Koneksi.Close()
MessageBox.Show(“Data dengan kode “ & TextKode.Text & ” Sudah disimpan”, “Simpan data Sukses”, MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
TextKode.Focus()
End If
Call FormKosong()
Call PanggilData()
End Sub
‘ ini prosedur untuk mengganti tab jadi enter dan prosedur untuk mencari apakah data pada text kode sudah pernah ada atau belum untuk menghindari
redudansi data.
SendKeys.Send(“{tab}”)
End If
Adapter.Fill(dt)
MessageBox.Show(“Data dengan kode “ & TextKode.Text & ” Sudah ada, inputkan data lain”, “Ditemukan data yang sama”, MessageBoxButtons.OK,
MessageBoxIcon.Information)
TextKode.Text = ” “
End If
GridSupplier.DataSource = dt
End Sub
‘tab to enter
SendKeys.Send(“{tab}”)
End If
End Sub
‘tab to enter
SendKeys.Send(“{tab}”)
End If
End Sub
‘tab to enter
SendKeys.Send(“{tab}”)
End If
End Sub
‘tab to enter
SendKeys.Send(“{tab}”)
End If
End Sub
‘tab to enter
If e.KeyChar = Chr(Keys.Enter) Then
SendKeys.Send(“{tab}”)
End If
End Sub
Sql = “Delete from Supplier where KodeSupplier = ‘” & TextKode.Text & “‘”
command.ExecuteNonQuery()
Module1.Koneksi.Close()
MessageBox.Show(“Data dengan kode “ & TextKode.Text & ” Sudah dihapus”, “Penghapusan Sukses”, MessageBoxButtons.OK, MessageBoxIcon.Information)
Call FormKosong()
Call PanggilData()
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
Else
MessageBox.Show(“Pilih dulu data yang akan dihapus”, “Tidak ada data yang akan dihapus”, MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
‘Cek Kode
‘Update
& “NamaSupplier='” & TextNama.Text & “‘,AlamatSupplier = ‘” & TextAlamat.Text & “‘,” _
& “Telepon='” & TextTelepon.Text & “‘,KontakPerson = ‘” & TextKontakPerson.Text & “‘,” _
& “email = ‘” & TextEmail.Text & “‘ WHERE kodeSupplier = ‘” & TextKode.Text & “‘”
command.ExecuteNonQuery()
Module1.Koneksi.Close()
MessageBox.Show(“Data dengan kode “ & TextKode.Text & ” Sudah diupdate”, “Update data Sukses”, MessageBoxButtons.OK, MessageBoxIcon.Information)
Call FormKosong()
Call PanggilData()
ButtonHapus.Enabled = False
ButtonUpdate.Enabled = False
End Sub
Me.Close()
Else
Call FormNormal()
End If
End Sub
‘prosedur untuk loading data ke dataqridview (refresh data, setelah dilakukan query
Call PanggilData()
End Sub
‘ini prosedur yang sangat berperan,karena prosedure ini akan membuat setiap baris yang cel yang kita klik pada data grid view, maka isi dari setiap field akan
dikirim kedalam textbox, sehingga kita dapat melakukan manipulasi data.
Prosedure ini mirip dengan Binding manager, Insyallah akan kita bahas pada artikel berikutnya.
Private Sub GridSupplier_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles GridSupplier.CellClick
Dim i As Integer
i = GridSupplier.CurrentRow.Index
ButtonHapus.Enabled = True
ButtonUpdate.Enabled = True
End Sub
End Class