- ปัญหาหนึ่งที่จำไม่ค่อยได้เลยว่าเขียนอย่างไร
- คือ การ query แบบ like โดยส่ง parameter ไปเป็นเงื่อนไข like
- แต่ใช้แบบนี้ ไม่ได้อ่ะ
select... where c1 like '%@searchterm%'
- แต่เราสามารถใช้ แบบนี้ แล้วทำการส่งค่ามาแบบ %คำค้น% ได้ด้วยแหละ
select ... where c1 like @searchterm
- แต่ถ้าไม่ต้องการให้ผู้ใช้ต้องใส่ % มาก็ให้ค้นหาแบบ like ได้ก็ให้ทำ ถ้าแบบบ้านๆ ก็ + ต่อ string
- หรือ ถ้าจะใช้แบบป้องกัน injection ด้วยแล้วก็ต้องแบบนี้เลย
select ... where c1 like '%' + @searchterm + '%'
- แล้วเราก็ทำการส่งค่าผ่าน SqlCommand หรือ SqlDataAdapter ได้เลยครับพี่น้อง
อ้างอิง
No comments:
Post a Comment