Cara Membuat Pencarian di Datagridview Database MySql VB.Net Cara Membuat Pencarian di Datagridview Database MySql VB.Net - Berguru IT - Tutorial Visual Basic, Networking, Tips dan Trik
VB.Net

VB.Net Tutorial Untuk pemula

Instant Article

Cara Membuat Instant Article Untuk Blogger

logo

Cara Membuat Pencarian di Datagridview Database MySql VB.Net

Cara Membuat Pencarian di Datagridview Database MySql VB.Net - Disini saya coba membuat beberapa cara membuat pencarian di datagridview dengan menggunakan database mysql di vb.net. Namun bagi kamu yang belum memahami dasar-dasar vb.net silahkan dibaca artikel saya tentang vb.net tutorial untuk pemula.

Atau baca juga :

Seperti yang kita ketahui bahwasannya fungsi pencarian sangatlah kita butuhkan karena akan banyak membantu dalam setiap pemprosesan sebuah data, namun ada kalanya kita akan menghadapi kesulitan ketika data sudah mencapai ribuan.

Jika data masih sedikit tentunya pencarian secara manual akan mudah dan tidak memakan banyak waktu, tapi jika sudah ribuan dan bahkan ratusan ribu tentunya akan sulit dan menyita waktu anda.

Persiapan membuat pencarian di datagridview vb.net

Sebelum membuat pencarian data di datagridview vb.net kita akan menyiapkan sebuah database mysql untuk di load ke dalam datagridview vb.net, berikut ini persiapannya :

A. Buat database MySQL

Buatlah database baru atau gunakan database kamu yang sudah ada lalu buat tabel dengan nama "apa saja" khusus untuk tutorial ini. Saya biasanya untuk kegiatan belajar menggunakan XAMPP sebagai database lokal dan menggunakan Navicat untuk browse data mysql.

B. Tambahkan kolom pada tabel

Masukkan beberapa kolom kedalam tabel yang hendak dijadikan tutorial ini, setidaknya beri 5 kolom dan kasih nama apa saja terserah yang penting tau nama tabelnya.

C. Buat Project baru di aplikasi Visual Studio

Open File > Project > Windows Form Aplication

D. Tambahkan Elemen Label, Texbox, button dan datagridview

Bisa lihat contoh project atau form dibawah ini :
Contoh Project Form Fungsi Pencarian di Datagridview
Contoh Project Form Fungsi Pencarian di Datagridview

E. Buat Module Koneksi

Untuk memanggil database mysql ke datagridview diperlukan module koneksi, untuk membuat module koneksi silahkan lihat artikel saya sebelumnya tentang cara membuat module koneksi mysql vb.net.

F. Masukkan Koding Fungsi Pencarian

Untuk membuat fungsi pencarian diperlukan sebuah koding untuk menjalankan fungsi tersebut, untuk mempersingkat bacaan silakan lanjut ke bawah ini.

2 Cara membuat Fungsi Pencarian di Datagridview VB.Net


Kali ini saya ingin memberikan 2 cara membuat fungsi pencarian di datagridview yaitu dengan cara :
  1. Pencarian langsung ke item Datagridview VB.Net
  2. Pencarian Item ke DataTabel MySQL VB.Net

1. Pencarian Langsung ke Item Datagridview VB.Net

Fungsi pencarian ini terbilang cukup efisien karena tidak melibatkan koneksi ke database mysql, kita hanya mencari item yang ada di datagridview namun fungsi pencarian ini memiliki kelemahan yaitu apabila item datagridview dan data di textbox tidak sama persis maka dianggap tidak ada.

Berikut ini kodingnya :

- Masukan atau impor MySqlClient

Imports MySql.Data.MySqlClient

- Deklair sebuah index :

Private searchIndex As Integer = -1

- Masukkan Koding ini ke dalam Form_load

Call koneksi()
Try
    Call koneksi()
    da = New MySqlDataAdapter("select * from dbcompany", conn)
    Dim dt As New DataTable

    da.Fill(dt)
    DataGridView1.DataSource = dt

    conn.Close()
Catch ex As Exception
    MsgBox(ex.ToString)
End Try

Penjelasan :

  • Call koneksi() untuk membuka koneksi antara form dan database mysql "Lihat di module koneksi"
  • Select * karena kolom dan data tabel tidak banyak jadi seya select all, nanti kalau sudah banyak datanya jangan dipake *.
  • DataGridView1.DataSource = dt "Menjadikan dt sebagai datasource datagridview"
  • conn.Close() "kita wajib menutup koneksi apabila sudah tidak digunakan lagi"

- Masukkan Koding ini ke dalam event Button_Click

For i As Integer = 0 To dataGridView1.Rows.Count - 1
    searchIndex = (searchIndex + 1) Mod DataGridView1.Rows.Count
    Dim row As DataGridViewRow = DataGridView1.Rows(searchIndex)
    If row.Cells("companyname").Value Is Nothing Then
        MsgBox("Item Not Found", MsgBoxStyle.Critical, "Info")
        TextBox1.Focus()
        Continue For
    End If

    If row.Cells("companyname").Value.ToString().Trim() = TextBox1.Text Then
        DataGridView1.CurrentCell = row.Cells("companyname")
        DataGridView1.FirstDisplayedScrollingRowIndex = DataGridView1.Rows(row.Index).Index
        Return
    End If
Next

Penjelasan :
  • "companyname" adalah nama kolom yang hendak saya jadikan parameter pencarian.
  • DataGridView1.CurrentCell : Ini untuk memfokuskan hasil pencarian ada dimana.

- Tambahkan koding ini ke dalam TextBox1_TextChanged

    searchIndex = -1

Untuk Full koding keseluruhan

Imports MySql.Data.MySqlClient
Public Class Form1
    Private searchIndex As Integer = -1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call koneksi()
        Try
            Call koneksi()
            da = New MySqlDataAdapter("select * from dbcompany", conn)
            Dim dt As New DataTable

            da.Fill(dt)
            DataGridView1.DataSource = dt

            conn.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For i As Integer = 0 To dataGridView1.Rows.Count - 1
            searchIndex = (searchIndex + 1) Mod DataGridView1.Rows.Count
            Dim row As DataGridViewRow = DataGridView1.Rows(searchIndex)
            If row.Cells("companyname").Value Is Nothing Then
                MsgBox("Item Not Found", MsgBoxStyle.Critical, "Info")
                TextBox1.Focus()
                Continue For
            End If

            If row.Cells("companyname").Value.ToString().Trim() = TextBox1.Text Then
                DataGridView1.CurrentCell = row.Cells("companyname")
                DataGridView1.FirstDisplayedScrollingRowIndex = DataGridView1.Rows(row.Index).Index
                Return
            End If
        Next
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        searchIndex = -1
    End Sub

End Class

Jika sudah semua di ikuti, silahkan jalankan program dan hasilnya akan seperti dibawah ini :
Result Fungsi Pencarian Item di Datagridview VB.Net
Result Fungsi Pencarian Item di Datagridview VB.Net


Ingat fungsi pencarian diatas tidaklah terlalu sempurna dikarenakan apabila pengisian text pada textbox1 tidak sama atau tidak sesuai dengan item yang ada di datagridview maka akan dianggap tidak ditemukan.

2. Pencarian Item ke DataTabel MySQL VB.Net


Untuk cara ini berbeda dengan cara (1) diatas karena pencarian dilakukan pada sisi database mysql vb.net dengan menggunakan query reader. Hasilnya juga terbilang baik karena parameter query menggunakan like (seperti) dimana apabila didalam database terdapat item yang kita cari (mirip/serupa) maka akan dinyatakan ditemukan.

Berikut ini caranya :

- Tambahkan button kedalam project yang sebelumnya dibuat (panduan diatas)

- Klik Dua kali Button nya, lalu masukkan koding berikut ini :


If TextBox1.Text = "" Then
    MsgBox("Parameter tidak boleh kosong", MsgBoxStyle.Critical, "Info")
    TextBox1.Focus()
Else
    Try
       Call koneksi()
       Using sql As New MySqlCommand("Select * from dbcompany where companyname like '%" & TextBox1.Text & "%'", conn)
           Using dr As MySqlDataReader = sql.ExecuteReader()
               Using dt As New DataTable
               dt.Load(dr)
               If dt.Rows.Count = 0 Then
                  'DataGridView1.DataSource = Nothing
                  MsgBox("Data tidak Ditemukan", MsgBoxStyle.Information, "Information")
               Else
                  DataGridView1.AutoGenerateColumns = False
                  DataGridView1.DataSource = dt
               End If
               End Using
           End Using
       End Using
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        conn.Close()
    End Try
End If



Jadi prinsip dari koding diatas adalah pada saat kita klik button cari maka akan mengirim / menjalankan printah query pencarian pada database mysql, jika hasilnya ada maka akan ditampilkan di datagridview namun jika tidak dalam database maka keluarlah messagebox yang isinya memberitahukan jika yang dicari tidak ada.

Lihat contoh program pencarian dibawah ini :
Membuat Pencarian item di database mysql vb.net
Hasil Pencarian Item di Database Mysql VB.Net

Gimana? mudah bukan, silahkan dipraktekan mana tau mudah dipahami.

Demikian tutorial ini yang membahas mengenai cara membuat pencarian di datagridview database mysql vb.net, jika ada yang kurang jelas silahkan ditanyakan di kolom komentar dibawah ini (jangan sungkan-sungkan ya).

Terima kasih sudah mau melihat dan membaca artikel ini, semoga bermanfaat.

Tags

0 Komentar untuk "Cara Membuat Pencarian di Datagridview Database MySql VB.Net"