Masih dengan menggunakan database Access 2000 (*.mdb) sebagai media penyimpanan dan namespace class System.Data.OleDb dari .NET sebagai penghubung query (connector). Agar lebih mudah dipahami, semua collect data dalam tutorial ini menggunakan Data.Adapter yang di-fill kedalam Dataset. Contoh berikut masih menggunakan project dalam tutorial sebelumnya yaitu cara memasukkan data ke dalam database Access.
- Bukalah project diatas, atau [Download project], lalu masukkan komponen Button ke dalamnya. Ganti nama komponen button dengan text "List Data" sesuai gambar berikut.
- Buatlah sebuah form baru dengan nama "listdata". Form ini berfungsi untuk menampilkan semua data yang ada di dalam database. Tambahkan juga komponen listview dan Button. Atur tampilannya sedemikian rupa. Untuk cara menampilakn data ke dalam listview, baca tutorial tutorialnya disini.
- Tambahkan juga komponen ContextMenuStrip pada form listdata agar mudah melakukan opsi navigasi Update ketika user mengklik kanan item pada listview
- Setelah semua langkah desain form selesai selanjutnya ke langkah coding.
Dobel-klik button listdata pada FrmMain untuk menampilkan form List Data yang telah dibuat. Lalu ketikkan script berikut : - Setelah itu, kembali ke form listdata. Tambahkan event "MouseClick" pada listview. Lalu ketikkan script berikut untuk menampilkan ContextMenu ketika item di-klik
- Lalu dobel-klik item "Update" pada ContextMenu. Tambahkan script berikut untuk menyeleksi item yang dipilih
- Setelah selesai, kembali ke form FrmMain. Dobel-klik button "Simpan", hapus semua data didalam event Button1_Click lalu ganti dengan script berikut :
- Coba jalankan Debug dengan menekan F5 pada keyboard
- Hasil akhir
listdata.Show()Hasil lengkapnya kira-kira seperti ini :
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
listdata.Show()
End SubIf e.Button = Windows.Forms.MouseButtons.Right Then
ContextMenuStrip1.Show(New Point(MousePosition.X, MousePosition.Y))
End IfHasil lengkapnya kira-kira seperti ini : Private Sub ListView1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
ContextMenuStrip1.Show(New Point(MousePosition.X, MousePosition.Y))
End If
End SubDim ds As New DataSet
Dim dr As DataRow
Dim da As OleDb.OleDbDataAdapter
Dim cnn As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & Application.StartupPath & "\db.mdb")
'melakukan collect data dari database
da = New OleDbDataAdapter("SELECT * FROM identitas WHERE NIP='" & ListView1.SelectedItems(0).Text & "'", cnn)
da.Fill(ds)
'menambahkan list dari database ke form update
For Each dr In ds.Tables(0).Rows
FrmMain.TextBox1.Text = dr(1).ToString
'mendisable text NIP sebagai patokan
FrmMain.TextBox1.Enabled = False
FrmMain.TextBox2.Text = dr(2).ToString
FrmMain.TextBox3.Text = dr(3).ToString
FrmMain.TextBox4.Text = dr(4).ToString
Next
'keluar dari form list
Me.Close()
'mengubah text button menjadi Update
FrmMain.Button1.Text = "Update"
'fokus ke button Update
FrmMain.AcceptButton = FrmMain.Button1
FrmMain.Button1.Focus()'jika koneksi tertutup, koneksi akan dibuka
If cnn.State = ConnectionState.Closed Then cnn.Open()
'jika nama button = update
If sender.Text = "Update" Then
'membuat variable cmd untuk menampung perintah update
cmd = New OleDbCommand("UPDATE identitas SET Nama='" & TextBox2.Text & "', Alamat='" & TextBox3.Text & "', Jurusan='" & TextBox4.Text & "' WHERE NIP='" & TextBox1.Text & "'", cnn)
'jika Update berhasil, tampilkan peringatan berhasil
If cmd.ExecuteNonQuery Then
MsgBox("Data berhasil diupdate!")
Else
MsgBox("Data gagal diupdate", MsgBoxStyle.Exclamation)
End If
'membersihkan isi dari textbox
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
'mengaktifkan kembali button1
TextBox1.Enabled = True
'mengubah nama button 1
Button1.Text = "Simpan"
'jika nama button <> update
Else
'membuat variable cmd untuk menampung perintah insert
cmd = New OleDbCommand("INSERT INTO identitas(NIP,Nama,Alamat,Jurusan) VALUES('" & TextBox1.Text & "', '" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')", cnn)
'jika insert berhasil, tampilkan peringatan berhasil
If cmd.ExecuteNonQuery Then MsgBox("Data berhasil disimpan")
'membersihkan isi dari textbox
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
End If
Source code projectnya dapat anda download pada link berikut : VB.NET : Cara Update Database [Size: 119KB].
Tutorial diatas menggunakan versi Visual Basic .NET 2008. Untuk versi VB diatasnya atau dibawahnya mungkin ada sedikit perbedaan.