Seperti biasa siapkan dulu contoh tabel database yang akan digunakan. Sebagai contoh kita akan bermain dengan nama-nama obat. Nama databasenya testing dan nama tabelnya obat. Berikut penampakan tabel obat : (Script SQL query dapat didownload di akhir postingan).
Buat Project baru di VB.Net 2008 dab berinama ProsesDataObat. Berikut tampilan Tab Solution Explorernya :
Sebagai awal, rename form1 menjadi FormObat. Kira-kira form yang saya buat seperti berikut ini :
 Public koneksi As SqlConnection = Nothing  
 Public cmd As SqlCommand = Nothing  
 Public Sub koneksiDB()  
   Dim connString As String = "Data Source=ZHENLONK-342572;Initial Catalog=testing;Integrated Security=True"  
   Try  
     koneksi = New SqlClient.SqlConnection(connString)  
     koneksi.Open()  
     koneksi.Close()  
   Catch ex As Exception  
     MessageBox.Show("Database Connection Error : " & ex.Message)  
   End Try  
 End Sub  
Pada Form buat proses untuk load data ke FormObat. Intinya Pada saat Form Load, maka data di database akan di Load ke FormObat. Berikut ini contohnya:
 Sub getDataFromDB(ByVal i As Integer)  
   koneksiDB()  
   Try  
     koneksi.Open()  
     DS_Obat = New DataSet  
     sql = "SELECT * FROM obat"  
     DA_Obat.SelectCommand = New SqlClient.SqlCommand(sql, koneksi)  
     DA_Obat.Fill(DS_Obat, "obat")  
     RowNumber = i  
     koneksi.Close()  
   Catch ex As Exception  
     MessageBox.Show(ex.Message)  
   End Try  
 End Sub  
 Sub DaftarObat()  
   If DS_Obat.Tables("obat").Rows.Count = 0 Then  
     MsgBox("Data Obat di Database Masih Kosong", MsgBoxStyle.Exclamation, "Pesan Program")  
     Exit Sub  
   End If  
   Me.TextBoxKodeObat.Text = DS_Obat.Tables("obat").Rows(RowNumber)("kd_obat").ToString  
   Me.TextBoxNamaObat.Text = DS_Obat.Tables("obat").Rows(RowNumber)("nama").ToString  
   Me.ComboBoxJenisObat.Text = DS_Obat.Tables("obat").Rows(RowNumber)("jenis").ToString  
   Me.TextBoxStok.Text = DS_Obat.Tables("obat").Rows(RowNumber)("stok").ToString  
   Me.TextBoxSatuan.Text = DS_Obat.Tables("obat").Rows(RowNumber)("satuan").ToString  
   Me.TextBoxHargaBeli.Text = DS_Obat.Tables("obat").Rows(RowNumber)("hargabeli").ToString  
   Me.TextBoxHargaJual.Text = DS_Obat.Tables("obat").Rows(RowNumber)("hargajual").ToString  
 End Sub  
Berikutnya adalah tombol operasi data, namun untuk ini saya membuat 1 file modul khusus yaitu ModulFormObat.vb yang khusus untuk kode Operasi data (Lihat Solution Explorer). Pertama input data. Berikut adalah kode input data yang saya gunakan.
 Sub SaveData()  
   With FormObat  
     Try  
       If .TextBoxNamaObat.Text = "" Then MsgBox("Nama Obat Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       If .TextBoxStok.Text = "" Then MsgBox("Stok Obat Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       If .TextBoxHargaBeli.Text = "" Then MsgBox("Harga Beli Obat Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       If .TextBoxHargaJual.Text = "" Then MsgBox("Harga Jual Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       sql = "INSERT INTO obat VALUES ('" & .TextBoxKodeObat.Text & "', '" & .TextBoxNamaObat.Text & "', '" & .ComboBoxJenisObat.Text & "', '" & .TextBoxSatuan.Text & "', '" & .TextBoxStok.Text & "', '" & .TextBoxHargaBeli.Text & "','" & .TextBoxHargaJual.Text & "')"  
       cmd = New SqlClient.SqlCommand(sql)  
       cmd.Connection = koneksi  
       koneksi.Open()  
       cmd.ExecuteNonQuery()  
       koneksi.Close()  
       MsgBox("Data Obat " & .TextBoxNamaObat.Text & " Berhasil Disimpan", MsgBoxStyle.Information, "Pesan Program")  
       .LoadData()  
     Catch ex As Exception  
       MsgBox(ex.Message, MsgBoxStyle.Information, "Pesan Kesalahan")  
     End Try  
   End With  
 End Sub  
Kedua untuk Edit data, berikut adalah contoh kode yang saya gunakan.
 Sub EditData()  
   With FormObat  
     Try  
       If .TextBoxNamaObat.Text = "" Then MsgBox("Nama Obat Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       If .TextBoxStok.Text = "" Then MsgBox("Stok Obat Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       If .TextBoxHargaBeli.Text = "" Then MsgBox("Harga Beli Obat Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       If .TextBoxHargaJual.Text = "" Then MsgBox("Harga Jual Harus Diisi..!", MsgBoxStyle.Critical, "Pesan Kesalahan") : Exit Sub  
       sql = "UPDATE obat SET nama='" & .TextBoxNamaObat.Text & "', " _  
                  & "jenis = '" & .ComboBoxJenisObat.Text & "', " _  
                  & "satuan = '" & .TextBoxSatuan.Text & "', " _  
                  & "stok = '" & .TextBoxStok.Text & "', " _  
                  & "hargabeli = '" & .TextBoxHargaBeli.Text & "', " _  
                  & "hargajual = '" & .TextBoxHargaJual.Text & "' " _  
                  & "WHERE kd_obat = '" & .TextBoxKodeObat.Text & "'"  
       cmd = New SqlClient.SqlCommand(sql)  
       cmd.Connection = koneksi  
       koneksi.Open()  
       cmd.ExecuteNonQuery()  
       koneksi.Close()  
       MsgBox("Data Obat " & .TextBoxNamaObat.Text & " Berhasil DiUpdate", MsgBoxStyle.Information, "Pesan Program")  
       .LoadData()  
     Catch ex As Exception  
       MsgBox(ex.Message, MsgBoxStyle.Information, "Pesan Kesalahan")  
     End Try  
   End With  
 End Sub  
Dan terakhir yaitu untuk Delete Data.
 Sub DeleteData()  
   With FormObat  
     Try  
       Dim hapus As Integer  
       Dim Sql As String  
       hapus = MsgBox("Anda Yakin Ingin Menghapus Data Obat " & .TextBoxNamaObat.Text & " ini?", MsgBoxStyle.OkCancel, "Info Program")  
       Select Case hapus  
         Case vbCancel  
           Exit Sub  
         Case vbOK  
           Sql = "DELETE FROM obat WHERE kd_obat = '" & .TextBoxKodeObat.Text & "'"  
           cmd = New SqlClient.SqlCommand(Sql)  
           cmd.Connection = koneksi  
           koneksi.Open()  
           cmd.ExecuteNonQuery()  
           koneksi.Close()  
           MsgBox("Data Berhasil Dihapus", MsgBoxStyle.Information, "Info Program")  
           .LoadData()  
       End Select  
     Catch ex As Exception  
       MsgBox(ex.Message, MsgBoxStyle.Information, "Pesan Kesalahan")  
     End Try  
   End With  
 End Sub  
Sedangkan untuk navigasi datanya, berikut adalah contoh kode yang saya gunakan.
 Private Sub ButtonFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFirst.Click  
   RowNumber = 0  
   Me.DaftarObat()  
 End Sub  
 Private Sub ButtonPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPrev.Click  
   If RowNumber = 0 Then  
     MsgBox("Anda Berada di Data Paling Awal", MsgBoxStyle.Information, "Info Program")  
   Else  
     RowNumber -= 1  
     Me.DaftarObat()  
   End If  
 End Sub  
 Private Sub ButtonNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNext.Click  
   If RowNumber = DS_Obat.Tables("obat").Rows.Count - 1 Then  
     MsgBox("Anda Berada di Data Paling Akhir", MsgBoxStyle.Information, "Info Program")  
   Else  
     RowNumber += 1  
     Me.DaftarObat()  
   End If  
 End Sub  
 Private Sub ButtonLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLast.Click  
   RowNumber = DS_Obat.Tables("obat").Rows.Count - 1  
   Me.DaftarObat()  
 End Sub  
Untuk tombol Search buat Form baru dengan nama FormDataGrid. Berikut adalah tampilan Formnya :
Jadi, saat data terlalu banyak, user bisa memilih menggunakan Datagrid dengan klik pada cell atau double klik di baris data yang anda inginkan. Berikut adalah contoh kode saat user melakukan klik untuk pemilihan data:
 Private Sub DataGridFullData_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridFullData.DoubleClick  
   FormObat.getDataFromDB(DataGridFullData.CurrentCell.RowIndex)  
   FormObat.DaftarObat()  
   Me.Close()  
 End Sub  
Anda sebenarnya bisa download source code program di akhir artikel ini. Jangan lupa untuk menyesuaikan nama server databasenya dengan nama server SQL Server di komputer / laptop anda (lihat di ModulKoneksi.vb.)
Download Disini





 
permisi, min mau tanya dong,,
BalasHapuskalau kita mau input data, tapi data nya tidak boleh sama statement syntax nya seperti apa ya??
misalnya,
siswa dengan nim 09030 menginput data
matkul = algoritma
dosen = agus
hari = senin
jam = 11.30 - 13.00
lalu siswa mau input data lagi,
matkul = RPL
dosen = heny
hari = senin
jam = 11.30 - 13.00
saat dia klik button input keluar statement peringatan hari dan jam bentrok,,itu harus gimana ya syntax nya??
mohon pencerahannya min,, terima kasih :D
format jam dan tanggal pada input data dalam database harus sesuai jenis variabelnya
Hapusformat jam dan tanggal pada input data dalam database harus sesuai jenis variabelnya
Hapus