Minggu, 25 Desember 2011

Fungsi Insert, Update, Delete , View di VB.Net 2005

Assalammualaikum ....
Waaahh....akhirnya  ada juuga waktu untuk membuat postingan lagi..lama rasa.a blog tercintaku ini ku biarkan..hehehe

oke..kali ini saya akan membagi ilmu tentang bagaimana melakukan sebuah fungsi CRUD (" Create ", " Update ", " Delete ") dan View menggunakan VB.Net 2005...

Tiap kali melihat desain form punya temen, fungsi-fungsi CRUD selalu berada didalam satu form...seperti pada contoh form dibawah ini

nah sekarang..bagaimana kalo fungsi CRUD tersebut ada di Form yang lain..misalnya ketika Tombol Tambah ditekan maka akan muncul Form Tambah, begitu juga seperti Tombol yang lainnya...

Oke..langsung ajah..sekarang kita coba untuk membuat Aplikasi Pendaftaran Praktikan Sederhana...

1. Buka VB.Net kalian......

2. Buat Sebuah Project varu dengan pilih File-->New-->Project...
    Beri nama project sesuka kalian misal " cobacoba "

3. Kemudian disebelah kanan ada Solution Explorer..klik kanan nama project kalian..kemudian pilih Add Reference..Maka akan keluar kotak dialog..pilih pada bagian .NET...Karena disini saya memakai database MySql..maka pilih MySql.Data..kemudian OK...Seperti pada gambar dibawah ini
4. Buat Sebuah module..Dengan klik kanan nama project, kemudian pilih Add-->New Item-->Module...dan berilah nama Koneksi...Kemudian Ketikan potongan Code berikut ini :

Imports MySql.Data.MySqlClient.MySqlConnection
Module koneksi
    Public comm As New MySql.Data.MySqlClient.MySqlCommand
    Public da As New MySql.Data.MySqlClient.MySqlDataAdapter
    Public ds As New DataSet
    Public conn As New MySql.Data.MySqlClient.MySqlConnection
    Public Sub konek(ByVal server As String, ByVal user As String, ByVal pass As String, ByVal db As String)
        If conn.State = ConnectionState.Closed Then
            Dim myString As String = "server=" & server _
            & ";user=" & user _
            & ";password=" & pass _
            & ";database=" & db
            Try
                conn.ConnectionString = myString
                conn.Open()
             Catch ex As MySql.Data.MySqlClient.MySqlException
                MsgBox("Koneksi Gagal")
                End
            End Try
        End If
    End Sub
    Public Sub disconnect()
        Try
            conn.Open()
        Catch ex As MySql.Data.MySqlClient.MySqlException
        End Try
    End Sub
End Module


5. Kemudian design form kalian seperti gambar dibawah ini...dengan memanfaatkan menu toolbox yang ada di sebelah kiri ..
Kemudian pada ComboBox, pilih properties--items, dimana items yang ada didalam ComboBox berisi Npm, Nama dan Sesi...kemudian double klik pada form..dan ketikan kode berikut:

Imports MySql.Data.MySqlClient.MySqlConnection
Public Class dataPraktikan
    Public dai As New MySql.Data.MySqlClient.MySqlDataAdapter
    Public dsi As New DataSet
    Public Sub tampil()
        ds.Clear() 'utk menghapus data lama di memory/g double
        Dim query As String
        query = "Select * from praktikan"
        comm.CommandText = query
        da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
        da.Fill(ds, "praktikan")
        tablePraktikan.DataSource = ds.Tables("praktikan").DefaultView
        tablePraktikan.ReadOnly = True 'supaya data d grid tidak bisa diubah
    End Sub
    Public Sub Editdata()
        Try
            ubahPraktikan.txtNPM.Text = tablePraktikan.Item(tablePraktikan.CurrentRowIndex, 0)
            ubahPraktikan.txtNama.Text = tablePraktikan.Item(tablePraktikan.CurrentRowIndex, 1)
            ubahPraktikan.comSesi.SelectedItem = tablePraktikan.Item(tablePraktikan.CurrentRowIndex, 2)
            ubahPraktikan.txtNPM.Enabled = False
            ubahPraktikan.Show()
        Catch ex As Exception
        End Try
    End Sub
    Sub cari()
        ds.Clear()
        Dim query As String
        If comboCari.SelectedItem.ToString.Contains("Nama") Then
            query = "Select * from praktikan Where nama like '%" & txtCari.Text & "%'"
            comm.CommandText = query
            da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
            da.Fill(ds, "praktikan")
            tablePraktikan.DataSource = ds.Tables("praktikan").DefaultView
            tablePraktikan.ReadOnly = True
        ElseIf comboCari.SelectedItem.ToString.Contains("NPM") Then
            query = "Select * from praktikan Where npm like '%" & txtCari.Text & "%'"
            comm.CommandText = query
            da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
            da.Fill(ds, "praktikan")
            tablePraktikan.DataSource = ds.Tables("praktikan").DefaultView
            tablePraktikan.ReadOnly = True
        ElseIf comboCari.SelectedItem.ToString.Contains("Sesi") Then
            query = "Select * from praktikan Where sesi like '%" & txtCari.Text & "%'"
            comm.CommandText = query
            da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
            da.Fill(ds, "praktikan")
            tablePraktikan.DataSource = ds.Tables("praktikan").DefaultView
            tablePraktikan.ReadOnly = True
        End If

    End Sub
    Private Sub dataPraktikan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        konek("localhost", "root", "", "psi")
        tampil()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim tp As New tambahPraktikan()
        tp.ShowDialog()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Editdata()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Try
            hapus()
        Catch ex As Exception

        End Try
    End Sub
    Sub hapus()
        ubahPraktikan.txtNPM.Text = tablePraktikan.Item(tablePraktikan.CurrentRowIndex, 0)
        ubahPraktikan.txtNama.Text = tablePraktikan.Item(tablePraktikan.CurrentRowIndex, 1)
        ubahPraktikan.comSesi.SelectedItem = tablePraktikan.Item(tablePraktikan.CurrentRowIndex, 2)
        Dim tanya As DialogResult
        tanya = MessageBox.Show("Yakin akan menghapus recordini??", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If tanya = Windows.Forms.DialogResult.Yes Then
            Dim query As String
            query = "delete from praktikan where npm= '" & ubahPraktikan.txtNPM.Text & "' "
            comm.CommandText = query
            da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
            da.Fill(ds, "praktikan")
            MessageBox.Show("Data sudah dihapus", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
            tampil()
        End If
    End Sub

    Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click
        Try
            cari()
            If txtCari.Text = "" Then
                MsgBox("Data Tidak ada")
                tampil()
            End If
        Catch ex As Exception

        End Try

    End Sub
End Class


6. Nah sekarang klik kanan pada nama project kalian...kemudian pilih Add-->New Item-->Windows Form-->Add...Maka akan muncul Halaman Form kosong..form kosong tersebut yag akan kita gunakan sebagai form tambah..jadi ketika Tombol tambah ( No.4 ) ditekan..maka Form tambah inilah yang akan tampil..Design seperti dibawah ini
Kemudian double klik pada form dan ketikan code beikut :

Imports MySql.Data.MySqlClient.MySqlConnection
Public Class tambahPraktikan
    Sub simpan()
        Dim query As String
        query = "Insert Into praktikan values (" & _
              "'" & txtNPM.Text & "'" & _
              ",'" & txtNama.Text & "'" & _
              ",'" & comSesi.SelectedItem & "')"
        comm.CommandText = query
        da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
        da.Fill(ds, "praktikan")
        MessageBox.Show("Data Tersimpan")
    End Sub

    Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click
        Me.Close()
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        If txtNPM.Text = "" Or txtNama.Text = "" Then
            MsgBox("Tidak Boleh ada yang kosong!!")
        ElseIf Len(txtNPM.Text) > 10 Then
            MsgBox("NPM Tidak boleh > 10 Digit!!")
        ElseIf Len(txtNPM.Text) < 10 Then
            MsgBox("NPM Tidak boleh < 10 Digit!!")
        ElseIf Not IsNumeric(txtNPM.Text) = True Then
            MsgBox("NPM harus angka")
        Else
            simpan()
            dataPraktikan.tampil()
            Me.Close()
        End If
    End Sub
End Class


7. Nah sekarang klik kanan pada nama project kalian...kemudian pilih Add-->New Item-->Windows Form-->Add...Maka akan muncul Halaman Form kosong..form kosong tersebut yag akan kita gunakan sebagai form Ubah..jadi ketika Tombol Ubah ( No.4 ) ditekan..maka Form Ubah inilah yang akan tampil..Design seperti dibawah ini

Kemudian double klik pada form dan ketikan code berikut ini :

Imports MySql.Data.MySqlClient.MySqlConnection
Public Class ubahPraktikan

    Private Sub ubahPraktikan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dataPraktikan.Editdata()
    End Sub

    Sub ubah()
        Dim query As String
        query = "Update praktikan SET " & _
              "nama='" & txtNama.Text & ",'" & _
              ",sesi='" & comSesi.SelectedItem & "'" & _
              " WHERE npm like '" & txtNPM.Text & "'"
        comm.CommandText = query
        da = New MySql.Data.MySqlClient.MySqlDataAdapter(comm.CommandText, conn)
        da.Fill(ds, "praktikan")
        MessageBox.Show("Data berhasil diubah")
        dataPraktikan.tampil()
        Me.Close()
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        If txtNama.Text = "" Then
            MessageBox.Show("Nama Tidak Boleh kosong!!")
        Else
            ubah()
        End If
    End Sub

    Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click
        Me.Close()
    End Sub
End Class



Selamat mencoba..semoga bermanfaat :)

0 komentar:

Posting Komentar

Selamat Datang di Blogku