Kamis, 20 Juni 2013


Imports MySql.Data.MySqlClient
Public Class form1
    Dim db As New MySql.Data.MySqlClient.MySqlConnection
    Dim sql As String
    Dim cmd As MySqlCommand
    Dim rs As MySqlDataReader

    Sub openDB()
        sql = "server=localhost;uid=root;pwd;database=dbJual"
        Try
            db.ConnectionString = sql
            db.Open()
            MsgBox("Konek woi")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Sub rubah(ByVal T1 As Boolean, ByVal T2 As Boolean, ByVal T3 As Boolean, ByVal T4 As Boolean, ByVal T5 As Boolean)
        btnBaru.Enabled = T1
        btnSimpan.Enabled = T2
        btnHapus.Enabled = T3
        btnBatal.Enabled = T4
        btnKeluar.Enabled = T5
    End Sub

    Sub bersih()
        kode.Text = ""
        nama.Text = ""
        satuan.Text = ""
        harga.Text = ""
        stok.Text = ""
        Rubah(True, False, False, False, True)
        kode.Enabled = True
    End Sub

    Sub buatTabel()
        With LV
            .Columns.Add("Kode", 70, HorizontalAlignment.Left)
            .Columns.Add("Nama", 100, HorizontalAlignment.Left)
            .Columns.Add("Satuan", 100, HorizontalAlignment.Center)
            .Columns.Add("Harga", 100, HorizontalAlignment.Right)
            .Columns.Add("Stok", 100, HorizontalAlignment.Center)
            .GridLines = True
            .FullRowSelect = True
            .View = View.Details
        End With
    End Sub

    Sub isiTabel()
        LV.Items.Clear()
        sql = "select * from tblBarang"
        cmd = New MySqlCommand(sql, db)
        rs = cmd.ExecuteReader
        Try
            While rs.Read
                Dim lst As New ListViewItem
                lst.Text = rs("kdBarang")
                lst.SubItems.Add(rs("nmBarang"))
                lst.SubItems.Add(rs("satuan"))
                lst.SubItems.Add(rs("harga"))
                lst.SubItems.Add(rs("stock"))
                LV.Items.Add(lst)
            End While
        Catch ex As Exception
            MsgBox("Error")
        End Try
        rs.Close()
    End Sub

    Sub prosesDB(ByVal log As Integer)
        Dim pesan As String
        pesan = ""
        Select Case log
            Case 0
                sql = "Insert into tblBarang(kdBarang,nmBarang,satuan,harga,stock)" & _
                        " values('" & kode.Text & _
                        "','" & nama.Text & _
                        "','" & satuan.Text & _
                        "','" & harga.Text & _
                        "','" & stok.Text & "')"
                pesan = "Data Telah Tersimpan"
            Case 1
                sql = "update tblBarang set nmBarang='" & nama.Text & "', " & _
                        "satuan='" & satuan.Text & "'," & _
                        "harga='" & harga.Text & "'," & _
                        "stock='" & stok.Text & "' " & _
                        "where kdBarang='" & kode.Text & "' "
                pesan = "Data Telah Terupdate"
            Case 2
                sql = "Delete from tblBarang where kdBarang='" & kode.Text & "'"
                pesan = "Data Telah Dihapus"
        End Select
        Try
            cmd = New MySqlCommand(sql, db)
            cmd.ExecuteNonQuery()
            MsgBox(pesan, MsgBoxStyle.Information + MsgBoxStyle.OkOnly, Me.Text)
            Call bersih()
            isiTabel()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Sub ShowDB()
        rs.Read()
        kode.Text = rs("kdBarang")
        nama.Text = rs("nmBarang")
        satuan.Text = rs("satuan")
        harga.Text = rs("harga")
        stok.Text = rs("stock")
        rubah(False, True, True, True, False)
        btnSimpan.Text = "Edit"
        kode.Enabled = False
    End Sub

    Private Sub Data_Barang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        openDB()
        bersih()
        buatTabel()
        isiTabel()
    End Sub

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

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        If kode.Text = "" Or nama.Text = "" Or satuan.Text = "" Or harga.Text = "" Or stok.Text = "" Then
            MsgBox("Data Belum Lengkap")
        Else
            If btnSimpan.Text = "Simpan" Then
                prosesDB(0)
            Else
                prosesDB(1)
            End If
        End If
    End Sub

    Private Sub kode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kode.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        If tombol = 13 Then
            Dim x As String
            If kode.Text = "" Then
                MsgBox("Isi Kode terlebih dahulu")
            Else
                sql = "select * from tblBarang where kdBarang='" & kode.Text & "'"
                cmd = New MySqlCommand(sql, db)
                rs = cmd.ExecuteReader
                Try
                    Call ShowDB()
                Catch ex As Exception
                    x = kode.Text
                    bersih()
                    kode.Text = x
                    rubah(False, True, False, True, False)
                    btnSimpan.Text = "Simpan"
                End Try
                nama.Focus()
                rs.Close()
            End If
        End If
    End Sub

    Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click
        Dim x As String
        x = MsgBox("Anda Yakin Akan dihapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Hapus")
        If x = vbYes Then
            Call prosesdb(2)
        End If
    End Sub

    Private Sub btnBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBaru.Click
        Bersih()
        kode.Focus()
    End Sub

    Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click
        Bersih()
        kode.Focus()
    End Sub

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

    End Sub
End Class

0 komentar:

Posting Komentar