วันอังคารที่ 6 มิถุนายน พ.ศ. 2560

การเขียนโปรแกรม vb2010 ติดต่อฐานข้อมูล ตอนที่ 7 การค้นหาแบบมีเงื่อนไข

คุยกันก่อน  หลังจากที่เราได้ทำการทดสอบการเขียนโปรแกรมกันมาสักระยะตอนนี้เราทำเป็นหลายอย่างแล้ว ไม่ว่าจะเป็นการใช้โปรแกรม Access การเชื่อมต่อฐานข้อมูล  การเพิ่มข้อมูล การนำข้อมูลมาใส่ใน Datagridview และเรายังสามารถปรับแต่ง Datagriview มาบ้างบางส่วนแล้ว ในบทความนี้ผมจะเขียนเกี่ยวกับการค้นหาข้อมูล  ถ้าถามว่าค้นหาทำไม ให้นึกถึงเวลาเราทำโปรแกรมสักตัวแล้วนำไปใช้ มีการบันทึกข้อมูลลงไปเรื่อยๆ วันนึงข้อมูลก็จะมีจำนวนมากขึ้นๆ  คราวนี้ปัญหาจะเกิดครับ ในกรณีที่เราต้องการหาข้อมูลบางเร็คคอร์ด ขึ้นมาเพื่อทำการบางอย่างเช่น อาจจะค้นหามาเพื่อแก้ไข เพื่อลบ (อันนี้ยังไม่ได้เขียนครับว่าลบอย่างไร เดี๋ยววันหลังมาเขียนให้ดูครับ ไม่ยากครับ) หรือค้นหามาดูเฉยๆก็ตาม วันนี้เราจะลองมาเขียนโปรแกรมที่ทำให้เราค้นหาข้อมูลได้สะดวกและรวดเร็วยิ่งขึ้น

ทำการออกแบบหน้าจอ   เราก็เพิ่ม ช่องรับข้อมูลหรือ Textbox ขึ้นมาสักตัวครับ และปุ่ม Button เพื่อคลิกค้นหาอีกตัวครับ


แนวคิดในการเขียนโปรแกรม  คือเราจะใช้ช่องนี้เป็นช่องรับข้อมูลเพื่อที่จะค้นหา อาจเป็น รหัส ชื่อ-สกุล ในที่นี้ผมจะลองทำการค้นหาจากชื่อ-สกุล นะครับ เอาแบบว่าสามารถค้นหาเฉพาะบางส่วนของชื่อก็ได้ไม่จำเป็นต้องใส่ชื่อเต็มทั้งหมด เป็นการค้นหาแบบกลุ่มตัวอักษรก็ได้ 
        Dim sqlQuery As String
        Dim adapter As New OleDb.OleDbDataAdapter
        Dim ds As DataSet = New DataSet

       ' ตัวสำคัญอยู่ที่บรรทัดนี้ครับ เราใช้คำสั่ง Sql ร่วมกับ LIKE ครับ จะทำให้สามารถหาเป็นอักษรหรือคำได้ ส่วนตัวที่เหลือก็เหมือนกับที่เราเคยเรียนรู้กันมาแล้ว
    sqlQuery = "SELECT * FROM Tb_Student Where st_fullname LIKE '%"& TextBox3.Text & "%'"


        adapter.SelectCommand = New OleDb.OleDbCommand(sqlQuery, con)
        adapter.Fill(ds)
        DataGridView1.DataSource = ds.Tables(0)

        DataGridView1.Columns.Item(0).HeaderText() = "รหัส"
        DataGridView1.Columns.Item(1).HeaderText() = "ชื่อ-สกุล"
        DataGridView1.Columns.Item(2).HeaderText() = "ห้อง"

        DataGridView1.Columns(0).Width = 80
        DataGridView1.Columns(1).Width = 150
        DataGridView1.Columns(2).Width = 80

        DataGridView1.Font = New Font("Verdana", 12)
        DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.InactiveCaption

เวลาเขียนโค้ดเราก็ไปเขียนในเหตุการณ์คลิกของปุ่มค้นหาของเราครับ เขียนโค้ดแล้วจะได้แบบนี้ครับ


หลังจากนั้นลองทำสอบโปรแกรมครับ

บทสรุป เราก็สามารถหาได้อย่างใจเลยครับ จะหาเป็นคำ เป็นพยัญชนะก็ได้ อย่างนี้ก็ง่ายเลยครับต่อให้มีข้อมูลเป็นร้อยเป็นพันก็หาได้รวดเร็ว ไม่ต้องไปนั่งเลื่อนสกอบาร์ ให้เมื่อยมือ ลองประยุกต์ใช้กันนะครับ เพื่อจะมีประโยชน์ ต่อผู้อ่านบ้าง ขอบคุณที่ติดตามครับ  แล้วพบกันอีกในบทความต่อไป

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

โปรแกรมตั้งเวลา เข้าแถว เปิดเสียงหมดเวลา หมดคาบเรียน หรือชั่วโมงเรียน

สวัสดีครับในรอบ 2 ปี ผมหายไปตั้งแต่ปี 2560 ไม่ได้มาเขียน Blog เลย วันนี้กลับมา พร้อมกับโปรแกรมตัวนึงที่เขียนขึ้นเพื่อใช้งาน เล่านิดนึงครับ ผ...