[VB.NET] Update Data dari Database

Pada tutorial sebelumnya dijelaskan mengenai cara memasukkan data ke dalam database Access. Pada tutorial kali ini dijelaskan cara update data yang ada di dalam database.

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.
  1. Bukalah project diatas, atau [Download project], lalu masukkan komponen Button ke dalamnya. Ganti nama komponen button dengan text "List Data" sesuai gambar berikut.
  2. Menambahkan komponen button
  3. 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.
  4. Tambahkan juga komponen ContextMenuStrip pada form listdata agar mudah melakukan opsi navigasi Update ketika user mengklik kanan item pada listview
  5. 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 :
  6. 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
  7. Setelah itu, kembali ke form listdata. Tambahkan event "MouseClick" pada listview. Lalu ketikkan script berikut untuk menampilkan ContextMenu ketika item di-klik
  8. If e.Button = Windows.Forms.MouseButtons.Right Then
                ContextMenuStrip1.Show(New Point(MousePosition.X, MousePosition.Y))
    End If
    Hasil 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
  9. Lalu dobel-klik item "Update" pada ContextMenu. Tambahkan script berikut untuk menyeleksi item yang dipilih
  10. 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()
  11. Setelah selesai, kembali ke form FrmMain. Dobel-klik button "Simpan", hapus semua data didalam event Button1_Click lalu ganti dengan script berikut :
  12. '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
  13. Coba jalankan Debug dengan menekan F5 pada keyboard
  14. Hasil akhir
  15. Cara update database menggunakan vbnet
    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.

Baca Juga :