Thursday, June 6, 2013

 photo logoVS2010.jpgBanyak yang sudah membahas update database di VB.Net dengan perintah SQL, kali ini saya membahas Update Database VB.Net dengan Ado.Net. Melakukan Pencarian, Penambahan, Mengubah dan Menghapus data pada tabel  database tanpa menggunakan perintah SQL. Perintah SQL hanya digunakan untuk  menghubungkan Tabel database  dan Data Adapter

Persiapan Tabel


Untuk operasi Cari, Tamba, Ubah dan Hapus data di tabel dengan Ado.net, tabel  tersebut harus mempunyai Primary Key. Jika tidak akan menyebabkan error.

Komponen  yang Dibutuhkan


Komponen yang dibutuhkan atau dideklarasikan antaralain :

  • Objek  Koneksi

  • Data Adapter

  • Data Set

  • Data Tabel

  • Data Row

  • Command Builder

Membuat Koneksi Ke Database


Karena saya menggunakan database Microsoft  Access, kode untuk koneksi data sebagai berikut :
Imports System.Data.OleDb
Public Class Lingkungan
    Dim ObjKonek As New OleDbConnection
    Dim SetData As New DataSet
    Dim AdapterData As OleDbDataAdapter
    Dim tabel As New DataTable
    Dim build As OleDbCommandBuilder
    Dim baris As DataRow
  Private Sub Lingkungan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ObjKonek.ConnectionString = "provider=microsoft.ACE.OLEDB.12.0;data source=silakpar.ACCDB"
        buka_koneksi()
 End Sub
 Private Sub buka_koneksi()
        If ObjKonek.State = ConnectionState.Closed Then
            ObjKonek.Open()
        End If
        AdapterData = New OleDbDataAdapter("Select * From Lingkungan", ObjKonek)
        'set command builder
        build = New OleDbCommandBuilder(AdapterData)
        AdapterData.MissingSchemaAction = MissingSchemaAction.AddWithKey
        AdapterData.Fill(SetData)
        tabel = SetData.Tables(0)
    End Sub
    Private Sub Tutup_koneksi()
        If ObjKonek.State = ConnectionState.Open Then
            ObjKonek.Close()
        End If
    End Sub
End Class

Databasenya  silakpar.accdb, nama tabelnya Lingkungan, Penggunaan data adapter, command builder,  data set, dan data tabel seperti contoh di atas.

Cari Data


Untuk mencari data format kodenya Datarow=Data Tabel.Rows.Find ( Data yg dicari )

contoh
 baris = tabel.Rows.Find(txtKode.Text)
        If baris Is Nothing Then 'Data tidak ditemukan
           MsgBox("Kode Lingkungan Tidak Ada")
        Else  'Data ditemukan
            MsgBox("Kode Lingkungan Sudah Ada")
        End If


Tambah Data


Penambahan data kodenya :
 Private Sub Tamba_Data()
        buka_koneksi()
        baris = tabel.Rows.Find(txtKode.Text)
        If baris Is Nothing Then
            baris = tabel.NewRow 'membuat baris baru
            baris("Kode") = txtKode.Text
            baris("Nama") = txtNama.Text
            baris("Ketua") = txtKetua.Text
            tabel.Rows.Add(baris) 'menambahkan baris data ke data tabel
            AdapterData.Update(SetData)'perubahan ke tabel database
        Else
            MsgBox("Kode Lingkungan Sudah Ada")
        End If
        Tutup_koneksi()
    End Sub

Penjelasan kode

  • Pertama mencari apakah kode yang diinput  sudah ada. Jika belum ada  maka penambahan data baru dilakukan

  • Membuat baris baru di Data Row, dengan struktur perintah DataRow = DataTable.NewRow

  • Mengisi baris baru  dengan data yang  input

  • Menambah baris  baru beserta datanya ke  data tabel dengan perintah DataTabel.Rows.Add(DataRow)

  • Melakukan update Data Adapter,  agar perubahan pada Data Table di kirim ke Tabel Database. Struk Perintahnya DataAdapter.update(DataSet)

Rubah Data


Kode prograamnya
 Private Sub Ruba_Data()
        buka_koneksi()
        baris = tabel.Rows.Find(txtKode.Text)
        If baris Is Nothing Then
            MsgBox("Kode Lingkungan Tidak Ada")
        Else
            baris("Nama") = txtNama.Text
            baris("Ketua") = txtKetua.Text
            AdapterData.Update(SetData)
        End If
        Tutup_koneksi()
    End Sub

Penjelasan kode program :

  • Mencari data yang akan di rubah

  • Mengisi Data Row dengan   data yang  diinput

  • Update Data Adapter

Hapus Data


Kode programnya :
Private Sub Hapus_Data()
        buka_koneksi()
        baris = tabel.Rows.Find(txtKode.Text)
        If baris Is Nothing Then
            MsgBox("Kode Lingkungan Tidak Ada")
        Else
            baris.Delete()
            AdapterData.Update(SetData)
        End If
        Tutup_koneksi()
    End Sub

Penjelasa kode program :

  • Mencari data yang akan dihapus

  • Menghapus Data Row

  • Update  Data  Adapter

Penutup


Dengan teknik diatas kita tidak harus menulis kode SQL yang panjang - panjang. Sampai sekarang penulis belum  ketemu solusi  bagaimana untuk tabel yang tidak ada Primary Key-nya. Metode diatas tidak bisa digunakan pada Query atau  Tabel di MS-Acces tipe Query

0 comments:

Post a Comment