วันศุกร์ที่ 16 มิถุนายน พ.ศ. 2560

Listbox กับฐานข้อมูล vb2010

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

การสร้างฟอร์ม  เราทดลองสร้างฟอร์ม แล้วนำคอนโทรล Listbox 1 ตัว กับ Textbox 1 ตัวมาวาดลงบนฟอร์ม


เมื่อได้ฟอร์มที่เราต้องการแล้ว ในการทดลองนี้ผมไม่ได้เปลี่ยนคุณสมบัติของคอนโทรลใดๆนะครับเพื่อง่ายต่อการอธิบาย หลังจากได้ฟอร์มแล้วเราก็เริ่มเขียนโค้ดครับ 
ติดต่อฐานข้อมูล  เราสร้างฐานข้อมูลง่ายๆชื่อ School และมีตารางอยู่ 1  ตาราง ชื่อ Tb_Student มีฟิลด์ 3 ฟิลด์ 3 ฟิลด์ คือ รหัสนักเรียน  ชื่อ-สกุล  และชั้นเรียน  st_code,st_fullname,st_class ตามลำดับ 
จากนั้นเขียนโค้ดดังนี้ครับ

การเขียนโค้ดโปรแกรม อิมพอร์ต System.Data.OleDb เข้ามา  และเขียนติดต่อฐานข้อมูลแบบง่าย ด้วย OLEDB แบบไม่มีการรักษาความปลอดภัย  
ประกาศตัวแปร con และ sqlcommand มาเพื่อใช้ในการติดต่อฐานข้อมูล เขียนจริงแบบนี้เลยครับ


ในฟอร์มโหลดให้เขียนการติดต่อกับฐานข้อมูลตรวจสอบฐานข้อมูลว่ามีการปิดอยู่หรือไม่หากใช้ให้ทำการเปิดฐานข้อมูล เขียนได้แบบนี้เลยครับ

หลังจากนั้น เขียนฟังก์ชั่น Add_Combo เพื่อดึงข้อมูลจากฐานข้อมูลมาไว้ใน Listbox โดยกำหนด Listbox.ValueMember="รหัสนักเรียน" และ Listbox.DisplayMember="ชื่อสกุลนักเรียน" เขียนได้แบบนี้เลยครับ


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


เอาค่าที่ได้ไปใส่ไว้ในคุณสมบัติ .Text ของ Textbox


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

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

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

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

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