IDFreelance - Indonesia Freelance Programmer and Web Designer

Add to Technorati Favorites
 
Content

 

Revised: Tutorial Operasi CRUD – Visual Basic .NET

13 November, 2010

logo tutorial VB revised Revised: Tutorial Operasi CRUD   Visual Basic .NETMaaf atas keterlambatan dalam membuat lanjutan dari tutorial operasi CRUD ini. Sudah setahun lebih.. icon biggrin Revised: Tutorial Operasi CRUD   Visual Basic .NET

Anyway, ini merupakan versi revisi dari versi sebelumnya. Artinya, kelanjutan dari versi sebelumnya tidak akan ada, karena di versi ini semua dibuat ulang dari NOL.

Tutorial ini menggunakan Visual Studio 2008 sebagai IDE-nya dengan SQL Server 2005 Express Edition sebagai backend database.

Terima kasih atas kesabarannya dan kritikan yang sering saya terima lewat email, YM maupun rumah.. Langsung saja, berikut tutorialnya..

1. Membuat project

Setelah masuk ke dalam IDE Visual Studio, buat project baru lewat menu ‘File > New Project’ dengan nama ‘TutorialVB.NET’.

Tutorial vb.net  300x247 Revised: Tutorial Operasi CRUD   Visual Basic .NET

[Klik gambar untuk memperbesar]

2. Membuat Database
Database yang akan digunakan adalah SQLServer 2005 Express Edition. Pada jendela ‘Solution Explorer’ (atau tekan kombinasi tombol CTRL+R untuk menampilkan Solution Explorer), klik kanan pada project ‘TutorialVB.NET’ > Add > New Item

Tutorial vb.net1  300x194 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Pada jendela yang muncul, pilih ‘Service-based Database’ dan beri nama ‘Database1.mdf’

Tutorial vb.net 2 300x180 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Klik ‘Add’ maka sebuah jendela baru ‘Data Source Configuration Wizard’ akan tampil. Klik ‘Finish’ untuk menambahkan Datasource baru tersebut ke dalam project.

Tampilan pada ‘Solution Explorer’ akan menjadi seperti ini:

Tutorial vb.net 3 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Database1.mdf telah ditambahkan ke dalam Solution Explorer

3. Membuat tabel
Pada bagian kiri dari IDE, buka panel ‘Server Explorer’pada (atau dengan mengklik kombinasi tombol CTRL+ALT+S). Klik kanan pada node ‘Table’ dan pilih ‘Add New Table’. Klik ‘Save’ dan beri nama ‘tblBarang’.

Tutorial vb.net 4 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Kita akan membuat tabel barang. Buatlah field-field baru seperti tampilan berikut:

Tutorial vb.net 5 300x147 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Selanjutnya field pada KdBarang akan dijadikan sebagai ‘primary key’ dengan nilai auto increment sebanyak 1. Caranya, klik kanan pada baris KdBarang dan pilih ‘Set Primary Key’ untuk menjadikan field KdBarang sebagai primary key pada tabel ini.

Tutorial vb.net 6 300x99 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Pada bagian kiri dari field KdBarang akan muncul tanda kunci berwarna kuning yang menandakan bahwa field KdBarang tersebut merupakan sebuah ‘Primary Key’/’Index’.

Selanjutnya kita akan membuat incremental value untuk field KdBarang dengan merubah nilai dari ‘Identity Specification’. Caranya: Pada bagian bawah dari table designer, dalam tab ‘Column Properties’, ubah nilai (IsIdentity) menjadi ‘Yes’ dengan ‘Identity Increment’ = 1 dan ‘Identity Seed’ = 1. Ini akan menjadikan nilai dari KdBarang menjadi auto increment sehingga bisa mengurangi kemungkinan duplikasi kode barang dalam proses transaksi. Lihat gambar:

Tutorial vb.net 7 300x216 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Jadikan Default Value dari field ‘Jumlah’, ‘Harga’ dan ‘Dihapus’ menjadi nilai 0.

Tutorial vb.net 8 300x214 Revised: Tutorial Operasi CRUD   Visual Basic .NET

4. Menambah Module
Kita akan lanjutkan dengan menambah modul baru ke dalam project. Kegunaan atau fungsi dari modul ini nantinya adalah untuk menyimpan prosedur dan fungsi-fungsi serta variabel public yang akan digunakan oleh setiap class dalam project.

Pertama-tama, tambahkan folder baru ke dalam project dengan cara klik kanan pada project ‘TutorialVB.NET’ > ‘Add’ > ‘New Folder’ dan beri nama ‘Functions’. Kemudian klik kanan pada folder ‘Functions’ yang baru ditambahkan tadi kemudian pilih ‘Add’ > ‘Module’ untuk menambah modul baru ke dalam project. Beri nama modul baru tersebut dengan nama ‘PublicFunctions’.

Tutorial vb.net 9 300x225 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Tutorial vb.net 10 300x180 Revised: Tutorial Operasi CRUD   Visual Basic .NET

5. Menulis kode untuk public functions
Pada modul yang baru dibuat tadi (PublicFunction.vb), ketikkan kode berikut:

Imports System.Data.SqlClient   'Untuk proses ke database
Imports System.IO               'Untuk proses penyimpanan log error

Module PublicFunctions
    'Deklarasikan DBConnection sebagai object dari SQLConnection dengan string koneksi dari Database1ConnectionString
    Public DBConnection As New SqlConnection(My.Settings.Database1ConnectionString)
    Public ErrorLog As Boolean = True   'Aktifkan error log
    Public lastSQL As String = ""       'String perintah sql terakhir

    Public Function OpenConnection(ByRef RetMessage As String) As SqlConnection
        Try
            DBConnection.Open()
        Catch ex As SqlException
            RetMessage = ex.Message
            Return Nothing
        Catch ex As Exception
            RetMessage = ex.Message
            Return Nothing
        End Try
        Return DBConnection

    End Function

    Public Function DoSqlDataView(ByVal str As String) As DataView

        Try
            Dim da As SqlDataAdapter

            Dim ds As DataSet
            Dim dv As DataView

            da = New SqlDataAdapter(str, DBConnection)
            ds = New DataSet
            da.Fill(ds)
            dv = New DataView(ds.Tables(0))
            Return dv
        Catch e As Exception
            'Jika terjadi kesalahan, simpan pesan kesalahan ke dalam file
            saveerrormessage(e.Message, e.StackTrace, e.Source)
        End Try
        Return New DataView

    End Function

    Public Function DoSqlCommand(ByVal str As String) As Boolean
        Try
            lastSQL = str

            Dim cm As SqlCommand
            cm = New SqlCommand(str, DBConnection)
            cm.ExecuteNonQuery()
            Return True
        Catch e As Exception
            'Jika terjadi kesalahan, simpan pesan kesalahan ke dalam file
            saveerrormessage(e.Message, e.StackTrace, e.Source)
            Return False
        End Try

    End Function

    Public Function GetIdentity(ByVal pFromTableName As String) As Integer
        Dim str As String
        Dim dv As DataView
        Dim iIdentity As Integer
        str = "SELECT @@IDENTITY as myValue FROM " & pFromTableName
        dv = DoSqlDataView(str)
        If dv.Count > 0 Then
            iIdentity = CInt(dv(0)(0))
        End If
        Return iIdentity
    End Function

    Public Function PrepareStr(ByVal strValue As String) As String
        Try
            If strValue.Trim() = "" Then
                Return "''"
            Else
                strValue = strValue.Replace("'", "''")
                Return "'" & strValue.Trim & "'"
            End If
        Catch e As Exception
            saveerrormessage(e.Message, e.StackTrace, e.Source)
            Return "''"
        End Try

    End Function

    Public Sub saveerrormessage(ByVal Message As String, ByVal stacktrace As String, ByVal source As String)
        If ErrorLog = True Then
            Dim errout As System.IO.StreamWriter
            Dim errfilename As String = "RtError.txt"   'RtError merupakan nama file yang akan digunakan
            If Not File.Exists(errfilename) Then
                'file untuk menyimpan log error belum ada, buat baru..
                errout = File.CreateText(errfilename)
            Else
                errout = File.AppendText(errfilename)
            End If

            'Buka dan tulis pesan error ke dalam file
            errout.WriteLine("******* TutorialVB.NET RUNTIME ERROR *******")
            errout.WriteLine("Date :" + CStr(Now()))
            errout.WriteLine("MSG  :" + Message)
            errout.WriteLine("SQL  :" + lastSQL)
            errout.WriteLine("SOURCE :" + source)
            errout.WriteLine("STACK  :" + stacktrace)
            errout.Flush()
            errout.Close()
        End If

    End Sub
End Module

6. Menambah kontrol ListView ke dalam form
Sekarang masuk ke tahap desain form icon biggrin Revised: Tutorial Operasi CRUD   Visual Basic .NET . Kembali ke ‘Solution Explorer’, pada ‘Solution Explorer’ klik dua kali pada form ‘Form1’.

Buka panel ‘Toolbox’ pada bagian kiri (tekan kombinasi tombol CTRL+ALT+X untuk membuka panel ‘Toolbox’), dan pilih kontrol ListView. Klik tahan dan geser kontrol ListView ke dalam form.

Tutorial vb.net 11 300x221 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Atur posisi dan ukuran dari ListView yang baru dimasukkan tadi sesuai selera dan ubah nama kontrol menjadi ‘LvBarang’ melalui panel ‘Properties’(tekan tombol F4 saat kontrol sedang dipilih untuk menampilkan panel ‘Properties’).

Tutorial vb.net 12 300x194 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Selanjutnya akan kita tambahkan kolom-kolom baru pada kontrol ‘LvBarang’ dengan klik kanan pada ‘LvBarang’ dan pilih ‘Edit Columns’.

Tutorial vb.net 13 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Pada kotak dialog ‘ColumnHeader Collection editor’ yang muncul, klik tombol ‘Add’ untuk menambah kolom baru. Masukkan ‘cKdBarang’ pada bagian ‘Name’ dan ‘Kode’ pada bagian ‘Text’.

Tutorial vb.net 14 300x215 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Tambahkan 3 anggota kolom berikutnya dengan nama dan text masing-masing:
Name: cNoBarang, Text: No. Barang
Name: cNmBarang, Text: Nama
Name: cJumlah, Text:Jumlah
Name: cHarga, Text:Harga

Tutorial vb.net 15 300x215 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Klik OK untuk menutup kotak dialog ‘ColumnHeader Collection Editor’.
Masih pada LvBarang, pada panel ‘Properties’, ubah nilai ‘FullRowSelect’=True, ‘MultiSelect’=False dan ‘View’=Details.

Tutorial vb.net 16 300x299 Revised: Tutorial Operasi CRUD   Visual Basic .NET

7. Menambah kontrol Textbox dan Label ke dalam form
Tampilkan panel Toolbox, pilih kontrol Texbox dan geser ke dalam form (cara hampir sama dengan cara memasukkan kontrol ListView ke dalam form). Masukkan 4 buah kontrol textbox. Atur posisi dan ukuran masing-masing Textbox sesuai selera. Properti name untuk setiap Textbox adalah sebagai berikut (atur melalui panel ‘Properties’ dengan menekan tombol F4 saat kontrol sedang dipilih):

Nama untuk masing-masing Textbox:
Name: TbNoBarang
Name: TbNmBarang
Name: TbJumlah
Name: TbHarga

Tambahkan juga 4 buat kontrol Label ke dalam form..
Nama dan Text untuk masing-masing Label:
Name: LbNoBarang, Text: No.:
Name: LbNmBarang, Text:Nama:
Name: LbJumlah, Text: Jumlah:
Name: LbHarga, Text: Harga:

Atur ukuran dan posisi kontrol-kontrol Texbox tersebut menjadi seperti gambar berikut..

Tutorial vb.net 17 300x179 Revised: Tutorial Operasi CRUD   Visual Basic .NET

8. Menambah kontrol Button ke dalam form
Pada panel ‘Toolbox’ pilih kontrol ‘Button’, klik tahan dan geser ke dalam form. Ganti properti Name dari kontrol Button tersebut melalui panel ‘Properties’.

Tutorial vb.net 18 300x117 Revised: Tutorial Operasi CRUD   Visual Basic .NET

Tambahkan 5 kontrol Button ke dalam form, dengan property Name dan Text untuk masing-masing Button:
Name: cmdBaru, Text: Baru
Name: cmdEdit, Text: Edit
Name: cmdSimpan, Text: Simpan
Name: cmdHapus, Text: Hapus
Name: cmdTutup, Text: Tutup

Atur lokasi dan posisi kelima kontrol Button tersebut seperti gambar:

Tutorial vb.net 19 300x217 Revised: Tutorial Operasi CRUD   Visual Basic .NET

9. Menulis kode
Ok, setelah user interface (UI) untuk form1 telah jadi, kini saatnya kita mulai menulis kode untuk Form1.

Pilih Form1.vb dari daftar object pada panel ‘Solution Explorer’. Klik kanan pada Form1.vb dan pilih ‘View Code’ atau dengan menekan tombol ‘F7’ pada keyboard.
Pada ‘Code View’ yang baru dibuka hanya akan terdapat 2 baris kode :

Public Class Form1

End Class

Sebelum melanjutkan ke penulisan kode pada Form1, kita akan membuat modul baru yang akan memuat daftar field dari dalam tabel barang yang telah dibuat .

10. Module TableList.vb
Melalui modul ini kita akan membuat Class-class untuk setiap tabel dalam database. Setiap Class dalam modul ini akan mewakili nama tabel dalam database.. dan setiap konstanta dalam modul ini akan mewakili nama dari setiap field dalam tabel tblBarang.

Tambahkan modul baru ke dalam project di dalam folder ‘Functions’. Klik kanan pada folder ‘Functions’ dan pilih ‘Add’ > ‘Module’.
Ubah nama modul menjadi ‘TableList.vb’ dan klik tombol ‘Add’.

Tutorial vb.net 20 300x180 Revised: Tutorial Operasi CRUD   Visual Basic .NET[Klik gambar untuk memperbesar]

Dalam modul TableList.vb, tambahkan Class baru dengan nama tblBarang. Di dalam class tblBarang, tambahkan beberapa konstanta public sebagai wakil dari field-field dalam tabel tblBarang:

Module TableList
    Public Class tblBarang
        Public Const _tablename As String = "tblBarang"    'Nama tabel
        Public Const KdBarang As String = "KdBarang"       'Field KdBarang dalam tabel
        Public Const NoProduk As String = "NoProduk"       'Field NoBarang dalam tabel
        Public Const NmBarang As String = "NmBarang"       'Field NmBarang dalam tabel
        Public Const Jumlah As String = "Jumlah"           'Field Jumlah dalam tabel
        Public Const Harga As String = "Harga"             'Field Harga dalam tabel
        Public Const Dihapus As String = "Dihapus"          'Field Dihapus dalam tabel
    End Class
End Module

11. PublicSQLBuilder
Setelah class dari tblBarang dibuat saatnya kita masuk ke bagian PublicSQLBuilder. Modul PublicSQLBuilder merupakan suatu module yang akan digunakan untuk memudahkan kita dalam mengeksekusi perintah-perintah SQL ke dalam database. Modul ini terdiri dari beberapa classs.

Class-class dalam modul PublicSQLBuilder terdiri dari:
Class SQLCaseWhenObject
Class SQLDataObject
Class SQLGroupStatement
Class SQLJoinStatement
Class SQLOrderStatement
Class SQLStringField
Class SQLTabelField
Class SQLWhereField

Class SQLInsertBuilder
Class SQLSelectBuilder
Class SQLUpdateBuilder

Dalam menggunakan PublicSQLBuilder ini, tidak diperbolehkan menghapus data dalam database. Sebagai penggantinya, gunakan field ‘Dihapus’ yang terdapat dalam tabel tblBarang.

Contoh penggunaan PublicSQLBuilder:
Untuk menjalankan perintah SELECT:

Dim sqlSelect As New SQLSelectBuilder
        With sqlSelect
            .AddTable(tblBarang._tablename)
            .AddField(tblBarang.KdBarang)
            .AddField(tblBarang.NmBarang)
            .AddField(tblBarang.NoProduk)
            .AddField(tblBarang.Jumlah)
            .AddField(tblBarang.Harga)
            .AddWhere(tblBarang.Dihapus, "=", 0)
        End With

Untuk mendapatkan hasil dari statement di atas, gunakan property ‘getsqlcommand’
sqlSelect.getsqlcommand

Hasil dari sqlSelect.getsqlcommand adalah:
“SELECT KdBarang, NmBarang, NoProduk, Jumlah, Harga FROM tblBarang WHERE Dihapus = 0”

Untuk statement WHERE yang lebih dari satu gunakan keyword “AND”:

.AddField(tblBarang.Harga)
.AddWhere(tblBarang.Dihapus, "=", 0)
.AddWhere(“AND”, tblBarang.Harga, ">", 100)

Untuk menjalankan perintah INSERT:

Dim sqlInsert As New SQLInsertBuilder
        With sqlInsert
            .AddTable(tblBarang._tablename)
            .AddField(tblBarang.NoProduk, TbNoBarang.Text)
            .AddField(tblBarang.NmBarang, TbNmBarang.Text)
            .AddField(tblBarang.Jumlah, TbJumlah.Text)
            .AddField(tblBarang.Harga, TbHarga.Text)
        End With

Hasil dari sqlInsert.getsqlcommand untuk statement di atas adalah:
“INSERT INTO tblBarang(NoProduk, NmBarang, Jumlah, Harga) VALUES (1,2,3,4)”

PublicSQLBuilder akan dibahas lebih lanjut pada saat penulisan koding ke dalam Form1

12. Menyatukan semua Fungsi dan Module ke dalam Form1
Kita kembali ke Form1. Tampilkan tampilan ‘Code View’ untuk Form1. Kita akan mencoba mengetik kode perintah untuk mengisi LvBarang dengan data-data dari database.
Yang akan kita lakukan adalah:
- Menampilkan data barang saat pertama kali form dibuka
- Menambah data baru ke dalam tabel tblBarang saat tombol simpan diklik.
- Meng-update data lama ke dalam tabel tblBarang saat tombol simpan diklik.
- Membedakan proses edit dan simpan saat tombol-tombol atau LvBarang diklik.
- Mengambil nilai dari KdBarang saat item dalam control LvBarang dipilih kemudian disimpan ke dalam variabel KdBarang.

.Menampilkan data barang saat pertama kali form dibuka
Dalam ‘Code View’ dari Form1, pada dropdown ‘Class Name’ di bagian kiri, pilih ‘(Form 1 Events)’ dan pada dropdown ‘Method Name’ di bagian kanan pilih ‘Load’.

Ketikkan kode berikut dalam Sub Form1_Load:

loadData()

Sehingga menjadi :

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        loadData()
End Sub

Berikut kode untuk sub loadData() :

Private Sub loadData()
        'Menampilkan data dari database ke kontrol ListView LvBarang
        'Di sini kita mulai menggunakan PublicSQLBuilder
        'Deklarasikan sqlSelect sebagai Class SQLSelectBuilder
        Dim sqlSelect As New SQLSelectBuilder
        With sqlSelect
            .AddTable(tblBarang._tablename)     'Menambah tabel barang ke daftar tabel yang akan digunakan
            .AddField(tblBarang.KdBarang)       'Menambah KdBarang ke daftar Field yang akan diambil
            .AddField(tblBarang.NmBarang)       'Menambah NmBarang ke daftar Field
            .AddField(tblBarang.NoProduk)       'Menambah NoProduk ke daftar Field
            .AddField(tblBarang.Jumlah)         'Menambah Jumlah ke daftar Field
            .AddField(tblBarang.Harga)          'Menambah Harga ke daftar Field
            .AddWhere(tblBarang.Dihapus, "=", 0) 'Hanya memilih barang yang belum dihapus (Dihapus = 0)
        End With
        'Hasil dari sqlSelect pada property getsqlcommand dengan cara di atas adalah:
        'SELECT KdBarang, NmBarang, NoProduk, Jumlah, Harga from tblBarang WHERE Dihapus = 0

        Dim dv As New Data.DataView
        dv = DoSqlDataView(sqlSelect.getsqlcommand)
        If dv.Count <> 0 Then
            'Mengosongkan daftar barang dari dalam kontrol LvBarang
            LvBarang.Items.Clear()
            'Loop sampai semua data terbaca
            For i As Integer = 0 To dv.Count - 1    'Menggunakan -1 agar nilai i dan nilai index dari dv sesuai
                'Deklarasikan lv sebagai ListViewItem yang akan ditambahkan ke dalam kontrol LvBarang
                'Tambahkan setiap nilai yang didapat dari database (dalam dataview dv) ke dalam object lv
                Dim lv As New ListViewItem(CStr(dv(i)(tblBarang.KdBarang))) 'Mengambil nilai dari KdBarang pada index ke i
                With lv.SubItems
                    .Add(CStr(dv(i)(tblBarang.NoProduk)))
                    .Add(CStr(dv(i)(tblBarang.NmBarang)))
                    .Add(CStr(dv(i)(tblBarang.Jumlah)))
                    .Add(CStr(dv(i)(tblBarang.Harga)))
                End With
                'Mengisi control LvBarang dengan isi dari lv
                Me.LvBarang.Items.Add(lv)
            Next
        End If
    End Sub

Kiranya penjelasan dari kode di atas cukup jelas sehingg belum perlu untuk dijabarkan lagi.. icon biggrin Revised: Tutorial Operasi CRUD   Visual Basic .NET

Jika dijalankan (dengan menekan tombol F5 pada keyboard) maka aplikasi akan menampilkan data-data barang yang terdapat dalam tabel barang yang memiliki nilai Dihapus = 0.

Untuk proses edit dan tambah data barang, kita tambahkan lagi 2 sub prosedur masing-masing untuk menambah data baru dan satunya lagi untuk meng-update data yang lama..

.Menambah data baru ke dalam tabel tblBarang saat tombol simpan diklik.
Tambahkan kode berikut ke dalam Form1:

Private Sub tambahData()
        'Deklarasikan sqlInsert sebagai SQLInsertBuilder dari modul PublicSQLBuilder (Persiapan menambah data baru)
        Dim sqlInsert As New SQLInsertBuilder
        With sqlInsert
            .AddTable(tblBarang._tablename)                 'Nama tabel yang akan dipakai
            .AddField(tblBarang.NoProduk, TbNoBarang.Text)  'Menambah isi NoProduk dengan nilai pada TbNoBarang
            .AddField(tblBarang.NmBarang, TbNmBarang.Text)  'Menambah isi NmBarang dengan nilai pada TbNmBarang
            .AddField(tblBarang.Jumlah, TbJumlah.Text)      'Menambah isi Jumlah dengan nilai pada TbJumlah
            .AddField(tblBarang.Harga, TbHarga.Text)        'Menambah isi Harga dengan nilai pada TbHarga
        End With
        If DoSqlCommand(sqlInsert.getsqlcommand) Then       'Menjalankan perintah dari sqlInsert menggunakan DoSqlCommand
            'Nilai dari KdBarang terakhir belum bisa diketahui, untuk mengetahui nilai dari suatu field yang
            'bertipe auto increment bisa dengan menggunakan fungsi GetIdentity
            'Mengambil nilai dari KdBarang yang baru dimasukkan
            Dim KdBarangTerakhir As Integer = GetIdentity(tblBarang._tablename)
            MessageBox.Show("Data berhasil disimpan dengan kode " & KdBarangTerakhir, Me.Text)
        Else
            MessageBox.Show("Gagal menyimpan data.", Me.Text)
        End If
    End Sub

Kemudian tekan kombinasi tombol SHIFT+F7 untuk kembali ke Designer View. Dari Designer View, klik dua kali tombol simpan, maka kita akan kembali ke dalam Code View. Ketikkan perintah berikut di dalam sub cmdSimpan_Click()

tambahData()

Sekarang kita sudah bisa menambah data pada database. Coba jalankan aplikasi dengan menekan tombol F5 pada keyboard, masukkan data-data dan klik tombol Simpan untuk mencoba hasilnya..

.Meng-update data lama ke dalam tabel tblBarang saat tombol simpan diklik.
Tambahkan kode berikut ke dalam Form1:

Private Sub updateData(Optional ByVal hapus As Boolean = False)
        'Deklarasi sqlUpdate sebagai SQLUpdateBuilder (Persiapan mengupdate data lama)
        Dim sqlUpdate As New SQLUpdateBuilder
        With sqlUpdate
            .AddTable(tblBarang._tablename)                     'Nama tabel yang akan diupdate
            .AddField(tblBarang.NoProduk, TbNoBarang.Text)      'Update nilai NoProduk dengan nilai dari TbNoBarang
            .AddField(tblBarang.NmBarang, TbNmBarang.Text)      'Update nilai NmBarang dengan nilai dari TbNmBarang
            .AddField(tblBarang.Jumlah, TbJumlah.Text)          'Update nilai Jumlah dengan nilai dari TbJumlah
            .AddField(tblBarang.Harga, TbHarga.Text)            'Update nilai Harga dengan nilai dari TbHarga
            'Bila hapus bernilai TRUE, maka data akan dihapus
            If hapus Then
                .AddField(tblBarang.Dihapus, 1)
            End If
            .AddWhere(tblBarang.KdBarang, "=", Me.KdBarang)     'Kode dari barang yang akan dihapus
        End With
        If DoSqlCommand(sqlUpdate.getsqlcommand) Then           'Menjalankan perintah dari sqlUpdate menggunakan DoSqlCommand
            MessageBox.Show("Data berhasil diupdate", Me.Text)
        Else
            MessageBox.Show("Gagal mengupdate data.", Me.Text)
        End If
    End Sub

Kembali ke Designer View, klik 2 kali pada tombol simpan untuk tambahkan kode berikut yang akan meng-update data dalam tblBarang.

Ubah kode dalam sub cmdSimpan_Click() sehingga menjadi seperti berikut:

'Jika tidak sedang dalam kondisi Edit maka panggil prosedur tambahData, dan sebaliknya
        If _sedangEdit = False Then
            tambahData()
        Else
            updateData()
        End If

. Membedakan proses edit dan simpan saat tombol-tombol atau LvBarang diklik.
Karena untuk proses tambah dan edit menggunakan satu tombol (cmdSimpan) maka ada beberapa logika yang perlu kita tambahkan.

Sebelumnya nonaktifkan tombol Simpan saat Form pertama kali ditampilkan, tambahkan kode cmdSimpan.Enabled = False :

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Tampilkan data saat pertama kali Form1 di tampilkan
        loadData()
        'Nonaktifkan tombol simpan
        cmdSimpan.Enabled = False
    End Sub

Pertama-tama kita buat sebuah variabel _sedangEdit dan beberapa sup prosedur yang masing-masing terdiri dari ‘Membuka textbox’, ‘Mengunci textbox’ dan ‘Mengosongkan textbox’.

Masukkan kode seperti di bawah ini ke dalam Form1:

Private _sedangEdit As Boolean = False

    Sub _kunciTeks()
        Me.TbHarga.Enabled = False
        Me.TbJumlah.Enabled = False
        Me.TbNmBarang.Enabled = False
        Me.TbNoBarang.Enabled = False
    End Sub

    Sub _bukaTeks()
        Me.TbHarga.Enabled = True
        Me.TbJumlah.Enabled = True
        Me.TbNmBarang.Enabled = True
        Me.TbNoBarang.Enabled = True
    End Sub

    Sub _resetTeks()
        Me.TbHarga.Text = ""
        Me.TbJumlah.Text = ""
        Me.TbNmBarang.Text = ""
        Me.TbNoBarang.Text = ""
    End Sub

Kita mulai dari cmdBaru..
Kembali ke Designer View dan klik 2 kali tombol Baru (cmdBaru), kita akan dibawa kembali ke Code View..
Ketikkan kode berikut pada sub cmdBaru_Click()

_sedangEdit = False             'Ini bukan proses edit
        _resetTeks()                    'Kosongkan textbox
        KdBarang = 0                    'Pastikan nilai pada variabel KdBarang = 0
        If cmdBaru.Text = "Baru" Then   'Jika text cmdBaru = Baru
            cmdSimpan.Enabled = True    'Aktifkan cmdSimpan
            cmdEdit.Enabled = False     'Nonaktifkan cmdEdit
            cmdHapus.Enabled = False    'Nonaktifkan cmdHapus
            cmdBaru.Text = "Batal"      'Ubah text cmdBaru menjadi Batal
            KdBarang = 0
            _bukaTeks()                 'Aktifkan Textbox
        Else                            'Jika text pada cmdBaru = Batal
            cmdBaru.Text = "Baru"       'Ubah text pada cmdBaru menjadi Baru
            cmdSimpan.Enabled = False   'Nonaktifkan cmdSimpan
            cmdEdit.Enabled = True      'Aktifkan cmdEdit
            cmdHapus.Enabled = True     'Aktifkan cmdHapus
            _kunciTeks()                'Nonaktifkan semua textbox
        End If

Untuk cmdEdit:
Pertama-tama kita perlu mengambil nilai dari KdBarang dari barang yang dipilih dalam LvBarang. Kembali ke ‘Designer View’, klik 2 kali LvBarang, kita akan diajak kembali ke tampilan ‘Code View’. Pada bagian kanan dari ‘Code View’, ubah Method name menjadi Click:

Tutorial vb.net 22 300x55 Revised: Tutorial Operasi CRUD   Visual Basic .NET

dan ketikkan kode berikut ke dalam sub LvBarang_Click()

Private Sub LvBarang_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LvBarang.Click
        'Validasi: apakah di dalam kontrol LvBarang terdapat barang? Jika tidak ada, keluar dari Sub
        If LvBarang.Items.Count = 0 Then
            Exit Sub
        End If

        'Jika tidak ada barang yang dipilih, tampilkan pesan
        If LvBarang.SelectedItems.Count = 0 Then
            MessageBox.Show("Data tidak tersedia.", Me.Text)
            Exit Sub
        End If

        'Mengambil nilai dari KdBarang pada barang yang terdapat pada index 0 dari item yang dipilih dari dalam LvBarang
        KdBarang = CInt(LvBarang.SelectedItems(0).SubItems(0).Text)

        'Mengisi tiap textbox dengan nilai dari barang yang dipilih dalam LvBarang
        Me.TbNoBarang.Text = LvBarang.SelectedItems(0).SubItems(1).Text
        Me.TbNmBarang.Text = LvBarang.SelectedItems(0).SubItems(2).Text
        Me.TbJumlah.Text = LvBarang.SelectedItems(0).SubItems(3).Text
        Me.TbHarga.Text = LvBarang.SelectedItems(0).SubItems(4).Text
    End Sub

Kembali ke ‘Designer View’, klik 2 kali pada tombol cmdEdit dan masukkan kode berikut ke dalam sub cmdEdit_Click()

If KdBarang = 0 Then    'Jika belum ada barang yang dipilih dari dalam LvBarang, maka tampilkan pesan
            MessageBox.Show("Silahkan pilih barang dari daftar.", Me.Text)
            Exit Sub
        End If
        _sedangEdit = True          'Ubah variabel _sedangEdit menjadi True
        _bukaTeks()                 'Aktifkan textbox
        cmdBaru.Text = "Batal"      'Ubah text pada cmdBaru menjadi "Batal"
        cmdSimpan.Enabled = True    'Aktifkan cmdSimpan
        cmdEdit.Enabled = False     'Nonaktifkan cmdEdit
        cmdHapus.Enabled = False    'Nonaktifkan cmdHapus

Untuk tombol cmdHapus:
Kembali ke ‘Designer View’, klik 2 kali pada cmdHapus dan masukkan kode berikut ke dalam sub cmdHapus_Click()

Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click
        'Jika tidak ada barang yang dipilih, tampilkan pesan
        If KdBarang = 0 Then
            MessageBox.Show("Tidak ada barang yang dipilih.", Me.Text)
            Exit Sub
        End If

        'Tampilkan pesan konfirmasi penghapusan data
        If MessageBox.Show("Ingin menghapus barang ini?", Me.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then
            Exit Sub
        End If

        'Mulai proses penghapusan dengan memanggil prosedur updateData dengan mengatur nilai 'hapus' menjadi True
        updateData(True)
        'Kosongkan textbox
        _resetTeks()
        'Muat ulang semua data untuk melihat perubahan
        loadData()
    End Sub

Untuk cmdTutup:
Kembali ke Designer View, klik 2 kali tombol cmdTutup dan masukkan kode berikut ke dalam sub cmdTutup_Click()

Me.Close()

Selesai….. Coba jalankan aplikasi dengan menekan tombol F5 pada keyboard.

Download solution lengkap : TutorialVB.NET-REVISED (3001)

Kiranya masih ada yang kurang, salah kata dan kalimat mohon dimaafkan.. Kiranya ada yang salah, mohon koreksi serta caci dan maki-nya..

Warm Regards n Wassalam..

Share and Enjoy:

  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET
  • services sprite Revised: Tutorial Operasi CRUD   Visual Basic .NET

Artikel Terkait :

Tags: , ,   Dalam Pemrograman, VB | 7 Comments »

You can leave a response, or trackback from your own site.


fungsi toolbox pada visual basic  crud vb net  fungsi toolbox visual basic  fungsi-fungsi toolbox pada visual basic 2008  nama dan fungsi toolbox  fungsi icon-icon pada vb6  fungsi toolbox pada visual studio 2008  nama dan fungsi icon photoshop  gambar icon untuk visual basic  fungsi toolbox pada visual studio 2010  crud vb net 2010  download icon vb net  toolbox visual basic dan fungsinya  fungsi value pada visual basic  fungsi project  nama dan fungsi toolbox visual basic  fungsi icon visual basic  menampilkan database ke textbox vb net  fungsi tool box pada visual basic  fungsi toolbox vb net  fungsi if pada sql server  fungsi toolbox pada VB net  fungsi toolbox pada visual basic 2008  vb net crud tutorial  gambar icon pada vb  fungsi-fungsi toolbox pada visual basic  nama icon-icon toolbox photoshop  modul vb 2010  download icon aplikasi  fungsi toolbar visual basic  nama nama ikon toolbox  crud pada vb net  tutorial lengkap vb 2008  crud visual basic 2010  nama ikon toolbox  nama dan fungsi toolbox pada visual basic  fungsi toolbar pada visual basic 2008  icon serta definisi dari toolbox dalam VB Net  fungsi toolbox di c#  nama icon beserta fungsinya  fungsi icon toolbox visual basic  nama-nama toolbox dan fungsinya  nama nama icon pada visual basic  modul belajar vb 2010  nama-nama toolbox  membuat tampilan menu interaktif pada vb net 2010  fungsi toolbox di vb net  menampilkan data ke textbox vb net  artikel toolbox visual basic  fungsi toolbox di visual basic  
 

 

7 Respon untuk “Revised: Tutorial Operasi CRUD – Visual Basic .NET”

  1. ward says:

    bro, kode SQLSelectBuilder kok eror ? ktnya not defined

  2. angga says:

    keren mas Tutor nya . . . .
    ane ada tugs kuliah tentang CRUd ini………

  3. iQbal says:

    Mantabs Gan…
    Mohon bimbingannya, saya baru belajar…
    Share ya Gan. Salam…

  4. andra says:

    mantap gan tutornya.
    dan saya terpesona liat design blog ini. mantap abis gan.

  5. ???? says:

    Kereeeen gan.
    Thank’s ilmu nya……….

  6. jacro says:

    wah website nya keren abis
    boleh dong bagi ilmu webnya

    keep posting

Tinggalkan balasan




+ 7 = thirteen