Bila kita membuat aplikasi desktop yang memakai database, tentu kita akan
bekerja dengan proses Input, Edit dan Delete data. Nah, di postingan kali ini
kita akan membuat contoh proses tersebut dengan memakai database SQL Server 2008.
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).
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 :
Sekarang buatlah File modul dengan nama ModulKoneksi.vb, file ini tentu
untuk koneksi database. Berikut adalah contoh script koneksinya :
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
Harrah's Cherokee Casino Resort - Mapyro
BalasHapusHarrah's Cherokee Casino Resort is located in 아산 출장마사지 the heart of the Great 대전광역 출장마사지 Smoky Mountains 평택 출장마사지 of 태백 출장마사지 Western North 서귀포 출장샵 Carolina. The casino is open daily 24 hours.