C#.net ,SQLite ทำไม ค้นหาข้อมูลแล้วข้อมูลไม่ขึ้น ? แก้โดยการใส่ชื่อ Field แทน * ก็จะทำให้ข้อมูลออกมาได้แล้ว

ตัวอย่าง.. คลิกปุ่มค้นหา แล้วข้อมูลไม่ออก ทั้งๆที่ SQL Query string น่าจะถูกแล้ว 

คุณเคยพบเหตุการณ์นี้หรือไม่?
+ หากคุณทำการค้นหาข้อมูลแล้วไม่ขึ้นจะทำยังไง +
ปัญหานี้สามารถตรวจสอบได้จากการ DEBUG จะพบกว่า Query ที่คุณใช้ถูกต้องแล้ว เพราะเมื่อเอาไปตรวจสอบที่ SQL จะสามารถมีข้อมูลออกมาถูกต้อง แต่ทำไม่ใน DataGridView ไม่ออก หรืออาจจะออกมาไม่ถูกต้อง

ตัวอย่าง.. ดูในโค้ดที่ส่วน DataDridView1.DataSource ไม่มีอะไรออกมาเลย


ตัวอย่าง.. แปะดู sql ที่ส่งมาก็น่าจะถูกต้องแล้ว
ตัวอย่าง.. เอา sql query string ไปทดสอบใน SQL ก็ได้ข้อมูลออกมาถูกต้องทุกอย่าง
วิธีแก้ไข

วิธีแก้ไขแสนง่ายดาย เพียงแค่คุณเปลี่ยนจาก Select * From ... เป็น Select FieldName From ... คือการใส่ชื่อ Field แทน * ก็จะทำให้ข้อมูลออกมาได้แล้ว



ตัวอย่าง.. ใส่ชื่อ Field แทน * ก็จะทำให้ข้อมูลออกมา
ตัวอย่าง.. ดูในโค้ดที่ส่วน DataDridView1.DataSource  ข้อมูลออกมาแล้ว



ตัวอย่าง.. คลิกปุ่มค้นหา แล้วข้อมูลออกถูกแล้ว 

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

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

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