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 Sub
If 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 Sub
Dim 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.