Pada modul-modul sebelumnya kita telah bekerja dengan DataSet, DataTable, dan DataView. Pada modul ini kita akan bekerja dengan DataSet yang memiliki beberapa DataTable dan masing-masing DataTable dihubungkan (Relation) berdasarkan kolom tertentu.
Contoh hasil Master dan Detail yang ditampilkan pada DataGrid1.
Contoh hasil Master dan Detail yang ditampilkan pada DataGrid1.
Mempersiapkan data source
Dalam hal ini kita akan membuka koneksi dan mempersiapkan DataSet, membuat Relation antara master DataTable dan child, serta membuat DataViewManager. Akhirnya di binding ke DataGrid.Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data source=D:\BelajarVBnet\Belajar.mdb;") ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn) ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn) ODABarang.Fill(ODS, "Barang") ODAPelanggan.Fill(ODS, "Pelanggan") 'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child) ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar")) 'Membuat DataViewManager untuk DataSet ODVM = New DataViewManager(ODS) 'Binding DataViewManager ke DataGrid, DataTable Barang DataGrid1.SetDataBinding(ODVM, "Barang") End Sub
Update data ke data source
Karena DataSet terdiri dari dua tabel, maka kita perlu mengupdatenya satu-persatu melalui DataAdapter masing-masing. Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Dim oleCB As New OleDbCommandBuilder(ODABarang)
Dim oleCP As New OleDbCommandBuilder(ODAPelanggan)
'Update masing-masing DataSet
ODABarang.Update(ODS, "Barang")
ODAPelanggan.Update(ODS, "Pelanggan")
End Sub
Program Kongkrit
Imports System.Data.OleDb Public Class Form3 Inherits System.Windows.Forms.Form Dim Oledbconn As OleDbConnection Dim ODABarang As OleDbDataAdapter Dim ODAPelanggan As OleDbDataAdapter Dim ODS As New DataSet Dim ODVM As DataViewManager Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data source=D:\BelajarVBnet\Belajar.mdb;") ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn) ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn) ODABarang.Fill(ODS, "Barang") ODAPelanggan.Fill(ODS, "Pelanggan") 'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child) ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar")) 'Membuat DataViewManager untuk DataSet ODVM = New DataViewManager(ODS) 'Binding DataViewManager ke DataGrid, DataTable Barang DataGrid1.SetDataBinding(ODVM, "Barang") End Sub
Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Dim oleCB As New OleDbCommandBuilder(ODABarang)
Dim oleCP As New OleDbCommandBuilder(ODAPelanggan)
'Update masing-masing DataSet
ODABarang.Update(ODS, "Barang")
ODAPelanggan.Update(ODS, "Pelanggan")
End Sub
End Class
Tidak ada komentar :
Posting Komentar