Kamis, 20 Juni 2013


Imports MySql.Data.MySqlClient
Public Class supplier
    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, ByVal T6 As Boolean)
        b_baru.Enabled = T1
        b_simpan.Enabled = T2
        b_hapus.Enabled = T3
        b_batal.Enabled = T4
        b_keluar.Enabled = T5
        edit.Enabled = T6
    End Sub

    Sub bersih()
        kode.Text = ""
        nama.Text = ""
        almt.Text = ""
        jenis.Text = ""
        tlfn.Text = ""
        rubah(True, False, False, False, True, False)
        kode.Enabled = True
    End Sub

    Sub buatTabel()
        With lv
            .Columns.Add("Kode", 70, HorizontalAlignment.Left)
            .Columns.Add("Nama", 100, HorizontalAlignment.Left)
            .Columns.Add("alamat", 100, HorizontalAlignment.Center)
            .Columns.Add("jenis", 100, HorizontalAlignment.Center)
            .Columns.Add("noTelp", 100, HorizontalAlignment.Right)
            .Columns.Add("tgl", 100, HorizontalAlignment.Right)
            .GridLines = True
            .FullRowSelect = True
            .View = View.Details
        End With
    End Sub

    Sub isiTabel()
        lv.Items.Clear()
        sql = "select * from supplier"
        cmd = New MySqlCommand(sql, db)
        rs = cmd.ExecuteReader
        Try
            While rs.Read
                Dim lst As New ListViewItem
                lst.Text = rs("kdsuplier")
                lst.SubItems.Add(rs("nmsuplier"))
                lst.SubItems.Add(rs("alamat"))
                lst.SubItems.Add(rs("jenis"))
                lst.SubItems.Add(rs("telpn"))
                lst.SubItems.Add(Format(rs!tgl, "dd-MM-yyyy"))
                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 supplier(kdsuplier,nmsuplier,alamat,jenis,telpn)" & _
                        " values('" & kode.Text & _
                        "','" & nama.Text & _
                        "','" & almt.Text & _
                        "','" & jenis.Text & _
                        "','" & tlfn.Text & _
                        "','" & Format(tgl.Value, "yyyy-MM-dd") & "')"

                pesan = "Data Telah Tersimpan"
            Case 1
                sql = "update supplier set tgl='" & Format(tgl.Value, "yyyy-MM-dd") & "', " & _
                 "nmsuplier='" & nama.Text & "'," & _
                        "alamat='" & almt.Text & "'," & _
                         "jenis='" & jenis.Text & "'," & _
                        "telpn='" & tlfn.Text & "' " & _
                        "where kdsuplier='" & kode.Text & "' "
                pesan = "Data Telah Terupdate"
            Case 2
                sql = "Delete from supplier where kdsuplier='" & 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("kdsuplier")
        nama.Text = rs("nmsuplier")
        almt.Text = rs("alamat")
        jenis.Text = rs("jenis")
        tlfn.Text = rs("telpn")
        tgl.Text = Format(tgl.Value, "dd-MM-yyyy")
        rubah(False, False, True, True, False, True)
        kode.Enabled = False
    End Sub


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

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_simpan.Click
        If kode.Text = "" Or nama.Text = "" Or almt.Text = "" Or tlfn.Text = "" Then
            MsgBox("Data Belum Lengkap")
        Else
            If b_simpan.Text = "Simpan" Then
                prosesDB(0)
           
            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 supplier where kdsuplier ='" & 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, False)
                    b_simpan.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 b_hapus.Click
        Dim x As String
        x = MsgBox("Anda Yakin Akan dihapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Hapus")
        If x = vbYes Then
            Call prosesDB(2)
        Else
            bersih()
        End If
    End Sub

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

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



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


    Private Sub kode_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kode.TextChanged

    End Sub

    Private Sub edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit.Click
        Call prosesDB(1)
    End Sub

    Private Sub tgl_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tgl.ValueChanged
        tgl.Text = Format(tgl.Value, "yyyy-MM-dd")
    End Sub
End Class

0 komentar:

Posting Komentar