Wednesday 14 November 2018

Pencarian Data Dengan LIKE



PENCARIAN DATA DENGAN LIKE DENGAN MEMILIH ANTARA 2 KRITERIA
MENGGUNAKAN DATABASE MYSQL


  1. Buat project baru di VB.Net
      2.  Desain Form Seperti Dibawah

      3.  Buat ModulKoneksi, masukkan koding berikut 
         
    Imports MySql.Data.MySqlClient
    Module ModulKoneksi
        Public Conn As MySqlConnection
        Public RD As MySqlDataReader
        Public DA As MySqlDataAdapter
        Public CMD As MySqlCommand
        Public DS As DataSet
        Public simpan, ubah, hapus, sql As String
        Public Sub bukaDB()
            Dim SQLConn As String
            SQLConn = "server=localhost;Uid=root;Pwd=;Database=dbcari"
            Conn = New MySqlConnection(SQLConn)
            If Conn.State = ConnectionState.Closed Then
                Conn.Open()
            End If
        End Sub
    End Module




    4.  Buat Database dengan nama dbcari dan buat tblsurat, lihat struktur table 
    5.   Kembali ke desain, tambahkan koding berikut
        
    Imports MySql.Data.MySqlClient
    Imports MySql.Data
    Public Class Form1
        Dim kode As String
        Sub isiGrid()
            ModulKoneksi.bukaDB()
            DA = New MySqlDataAdapter("SELECT kode,namasurat from tblSurat order by kode desc", Conn)
            DS = New DataSet
            DA.Fill(DS, "tblSurat")
            DataGridView1.DataSource = DS.Tables("tblSurat")
            DataGridView1.ReadOnly = True
            DataGridView1.Columns(0).Width = 50
            DataGridView1.Columns(1).Width = 250
        End Sub
        Sub Bersih()
            txtKode.Text = ""
            txtNamasurat.Text = ""
            txtKode.Focus()
        End Sub
        Private Sub cmdsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click
            If cmdsimpan.Text = "Simpan" Then
                If txtKode.Text = "" Then
                    MsgBox("Kode surat Harus Di isi", MsgBoxStyle.Exclamation, "Peringatan")
                    txtKode.Focus()
                    Exit Sub
                End If
                Call bukaDB()
                CMD = New MySqlCommand("SELECT Kode from tblSurat WHERE Kode = '" & txtKode.Text & "'", Conn)
                RD = CMD.ExecuteReader
                RD.Read()
                If RD.HasRows Then
                    MsgBox("Maaf, Data dengan kode tersebut telah ada", MsgBoxStyle.Exclamation, "Peringatan")
                Else
                    Call bukaDB()
                    simpan = "INSERT INTO tblSurat (Kode,NamaSurat) VALUES ('" & txtKode.Text & "','" & txtNamasurat.Text & "')"
                    CMD = New MySqlCommand(simpan, Conn)
                    CMD.ExecuteNonQuery()
                    Call isiGrid()
                    cmdsimpan.Text = "Tambah"
                End If
            Else
                Call Bersih()
                txtNamasurat.Focus()
                cmdsimpan.Text = "Simpan"
            End If
        End Sub
        Private Sub Btncarikode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btncarikode.Click
            kode = InputBox("Masukkan kode Surat", "Pencarian")
            If kode = "" Then Exit Sub
            On Error Resume Next
            Call bukaDB()
            sql = "select * from tblSurat where kode ='" & kode & "'"
            CMD = New MySqlCommand(sql, Conn)
            CMD.ExecuteNonQuery()
            RD = CMD.ExecuteReader
            RD.Read()
            If RD.HasRows Then
                txtKode.Text = RD.Item(0)
                txtNamasurat.Text = RD.Item(1)
                txtKode.Focus()
                RD.Close()
            Else
                MsgBox("Data tidak ditemukan", vbInformation, "Message")
            End If
        End Sub
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Call isiGrid()
        End Sub
        Private Sub isitextbox(ByVal x As Integer)
            Try
                txtKode.Text = DataGridView1.Rows(x).Cells(0).Value
                txtNamasurat.Text = DataGridView1.Rows(x).Cells(1).Value
                txtKode.Enabled = False
            Catch ex As Exception

            End Try
        End Sub
        Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
            Call isitextbox(e.RowIndex)
        End Sub
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            Using bbb As New MySqlClient.MySqlCommand("select * from tblsurat where kode like '%" & TextBox1.Text & "%' or namasurat like '%" & TextBox1.Text & "%'", Conn)
                Using dr As MySqlClient.MySqlDataReader = bbb.ExecuteReader()
                    Using dt As New DataTable
                        dt.Load(dr)
                        If dt.Rows.Count = 0 Then
                            DataGridView1.DataSource = Nothing
                        Else
                            DataGridView1.DataSource = dt
                        End If
                    End Using
                End Using
            End Using
        End Sub
    End Class 


    6.       Jalankan dengan F5, Hasilnya

    7.   Ketik C, tampilannya seperti berikut
     
    8.  Selesai


No comments:

Post a Comment

Please comment....