Modifikasi melalui kontrol DataGridView merupakan cara yang praktis dan sederhana. Disini anda tidak perlu melibakan banyak kontrol cukup menggunakan kontrol dDataGridView dan Button (Jika diperlukan). Seperti halnya Anda melakukan modifikasi melalui textbox kontrol DataGridView memungkinkan untuk diguanakan dalam menambah,mengubah,menghapus data. Oleh karena kita mengandalkan DataGridView untuk modifikasi data table, pastikan bahwa property ReadOnly bernilai false. Ketika property ini bernilai true maka DataGridView hanya boleh dibaca saja, akibatnya kode anda juga tidak akan bekerja. Untuk lebih jelasnya, buat project baru dan tambahkan beberapa kontrol seperti bagan berikut :
Label1 | Text = Modifikasi Data Lewat DataGrid |
DataGridView | Name = DataGridView1 |
Buuton1 | Name =BtnSimpan |
Text = &Simpan |
Lalu lengkapi program anda dengan kode dibawah ini :
Imports MySql.Data.MySqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
Dim conn As MySqlConnection
Dim adapter As MySqlDataAdapter
Dim ds As New DataSet
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
adapter.Dispose()
conn.Dispose()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Constr As String
Constr = "server=localhost;" & "user=root;" & "password='';" & "database=latihan1;"
Dim sqlstr As String = "select * from anggota"
adapter = New MySqlDataAdapter
Try
conn = New MySqlConnection(Constr)
conn.Open()
adapter.SelectCommand = New MySqlCommand(sqlstr, conn)
Dim cb As MySqlCommandBuilder
cb = New MySqlCommandBuilder(adapter)
adapter.Fill(ds, "anggota")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "anggota"
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
'Penambahan Data
Dim dschange As DataSet = New DataSet
If (ds.HasChanges(DataRowState.Added)) Then
'Menambahkan Record Yang Ditambahkan
dschange = ds.GetChanges(DataRowState.Added)
Dim rowchange As Integer
rowchange = adapter.Update(dschange, "anggota")
If (rowchange > 0) Then
MessageBox.Show(rowchange.ToString() & " Record Berhasil Dimasukan")
End If
End If
'Pengubahan Data
If (ds.HasChanges(DataRowState.Modified)) Then
dschange = ds.GetChanges(DataRowState.Modified)
Dim Rowchange As Integer
Rowchange = adapter.Update(dschange, "anggota")
If (Rowchange > 0) Then
MessageBox.Show(Rowchange.ToString() & " Record Berhasil diubah")
End If
End If
'Penghapusan Data
If (ds.HasChanges(DataRowState.Deleted)) Then
dschange = ds.GetChanges(DataRowState.Deleted)
Dim Rowchange As Integer
Rowchange = adapter.Update(dschange, "anggota")
If (Rowchange > 0) Then
MessageBox.Show(Rowchange.ToString() & " Record Berhasil dihapus")
End If
End If
'Menerapkan perubahan
ds.AcceptChanges()
'Refress Datagrid
DataGridView1.Refresh()
End Sub
End Class
Dim dschange As DataSet = New DataSet
If (ds.HasChanges(DataRowState.Added)) Then
'Menambahkan Record Yang Ditambahkan
dschange = ds.GetChanges(DataRowState.Added)
Dim rowchange As Integer
rowchange = adapter.Update(dschange, "anggota")
If (rowchange > 0) Then
MessageBox.Show(rowchange.ToString() & " Record Berhasil Dimasukan")
End If
End If
Setelah objek dataset menampung table seperti yang ditampilkan pada DataGridView, kita menciptakan objek dataset baru. Tujuannya untuk menampung record yang ditambah, diubah, serta dihapus dari dataset pertama.
Sebagai contoh, Anda melakukan penambahan data, program akan memeriksa penambahan melalui method HasChange dengan parameter status, yaitu DataRowState.Added. Langkah berikutnya mengisikan record baru ke dalam objek dataset kedua, dan terakhir menerapkan perubahan ke tabel melalui method Update. Begitu pula halnya dengan pengubahan dan penghapusan, Anda cukup memeriksa status dari modifikasi data. Setelah status anda dapatkan, langkah selanjutnya tidak berbeda.
0 Komentar
Post a Comment