รับทำเว็บไซต์ครบวงจร
เลือกภาษา Thai English     facebook
รายการหลัก



บทความ


Page Ranking Tool

การค้นหาข้อมูล ด้วย asp.net (c#) sql server


สอน ASP net MS SQL
> การค้นหาข้อมูล ด้วย asp.net (c#) sql server


การกรองข้อมูล, จัดเรียงข้อมูล, การใช้คอนโทรลร่วมกันเพื่อการค้นหา, การจัดกลุ่มข้อมูล
การใช้ QueryExtender, การใช้ Like เพื่อการค้นหาข้อมูล ด้วย asp.net (c#) sql server

สำหรับตอนที่ 3 จะสาธิต

การกรองข้อมูล
จัดเรียงข้อมูล
การใช้คอนโทรลร่วมกันเพื่อการค้นหา
การจัดกลุ่มข้อมูล
การใช้ QueryExtender
การใช้ Like เพื่อการค้นหาข้อมูล
1.การกรองผูู้เรียนและแสดงผล
ในบทนี้คู่มือได้สอนการกรองข้อมูล Student จาก Person ทั้งหมด ซึ่ง Student จะมี่ค่าขอมูลวันลงทะเบียน (ดูจากข้อมูลใน database)



1.1 เปิดเพจ Student.aspx แล้วคลิกที่คอนโทรล entity datasouce
รับทำเว็บ  webUB.com


1.2 แล้วดูที่หน้าต่าง properties ไปที่ Where แล้วพิมพ์ตามนี้
รับทำเว็บ  webUB.com



1.3 จากนั้นให้ทดลองรันเพจ จะได้ผลดังนี้
รับทำเว็บ  webUB.com



2.การเรียงข้อมูลก่อนแสดงผล
เราจะเรียงข้อมูล Student จาก LastName สามารถทำได้ดังนี้

2.1 ที่เพจ Student.aspx เดิมนี้ให้คลิกที่ entity datasource control ไปที่หน้าต่าง properties แล้วดูที่คุณสมบัติ OrderBy แล้วกรอกตามนี้
รับทำเว็บ  webUB.com



2.2 รันเพจจะได้ผลตามนี้
รับทำเว็บ  webUB.com



3. การใช้คอนโทรลร่วมกันเพื่อการค้นหาข้อมูล
การค้นหาข้อมุลแบบนี้เรียกว่าใช้ control parameter เพื่อส่งค่าแล้วนำไปค้นหาด้วยคุณสมบัติ Where

3.1 ให้เปิดเพจ Course.aspx แล้วคลิกที่คอนโทรล CourseEntityDataSource แล้วดูที่หน้าต่าง properties แล้วคลิกที่จุด … ในช่อง Where
รับทำเว็บ  webUB.com


3.2 เมื่อปรากฏหน้าต่าง Expression ให้คลิกเพื่อเลือกที่ช่อง Auto gen the where expression…
รับทำเว็บ  webUB.com



3.3 แล้วคลิกปุ่ม Add Parameter ที่ช่อง Name พิมพ์ฟิล์ดที่เราต้องการนำค่าไปเปรียบเทียบคือ DepartmentID
รับทำเว็บ  webUB.com


3.4 ที่ช่อง Parameter Source ให้เลือก Control จากนั้นที่ช่อง ControlID ให้เลือกเป็นชื่อของ dropdownlist คือ dropDepartment
รับทำเว็บ  webUB.com


3.5 คลิกที่ Show advance.. จะปรากฏคุณสมบัติเพิ่มเติมให้มองหา Type แล้วเปลี่ยนให้เป็น Int32 แล้วคลิก OK เพื่อปิดหน้าต่างการกำหนดค่า
รับทำเว็บ  webUB.com



3.6 จากนั้นให้แก้ไขคอนโทรล CourseGridView ในหน้า Source ดังนี้



  Code
<asp:GridView ID=”CoursesGridView” runat=”server” AutoGenerateColumns=”False”
DataKeyNames=”CourseID” DataSourceID=”CoursesEntityDataSource”>
<Columns>
<asp:BoundField DataField=”CourseID” HeaderText=”ID” ReadOnly=”True”
SortExpression=”CourseID” />
<asp:BoundField DataField=”Title” HeaderText=”Title” SortExpression=”Title” />
<asp:BoundField DataField=”Credits” HeaderText=”Credits”
SortExpression=”Credits” />
</Columns>
</asp:GridView>





สำหรับ Gridview นี้จะแสดงเพียง 3 คอลัมเท่านั้น คือรหัสวิชา ชื่อวิชา และหน่วยกิต


3.7 จากนั้นกลับไปดุที่คอนโทรล dropdownlist ให้เรา Enable ที่ AutoPostBack โดยเปลี่ยนให้เป็น True เพื่อให้ส่งค่าทันทีที่เลือกข้อมูลจากคอนโทรลนี้
รับทำเว็บ  webUB.com


3.8 ทดลองรันเพจและเปลี่ยนสาขาวิชาจะพบว่าภายใน gridview มีการแสดงผลรายวิชาตามไปด้วย
รับทำเว็บ  webUB.com

รับทำเว็บ  webUB.com


4. การจัดกลุ่มข้อมูล
ระบบต้องการให้แสดงจำนวนนิสิตที่หน้า About.aspx โดยจัดกลุ่มจากวันที่ Student ลงทะเบียน

4.1 ให้เปิดเพจ About.aspx แล้วแทนที่ข้อความเดิมด้วย
รับทำเว็บ  webUB.com


4.2 จากนั้นให้เพิ่ม entity datasource control ลงไป โดยมีเงื่อนไขดังนี้

เราจะกรองมาเฉพาะ Student เท่านั้น ดูที่ Where
เราจะจัดกลุ่มจากวันที่ลงทะเบียนเรียน ดูที่ GroupBy
เราจะจัดกลุ่มและนับจำนวน Student ดูที่ Select
เราจะจัดเรียนตามวันที่การลงทะเบียน ดูที่ OrderBy
เราจะโค้ดที่หน้า source ได้ดังนี้

รับทำเว็บ  webUB.com


4.3 จากนั้นลาก gridview มาวางในเพจและโค้ดตามดังนี้
รับทำเว็บ  webUB.com


4.4 จากนั้นลองรันเพจจะได้ผลดังนี้
รับทำเว็บ  webUB.com



5.การใช้ QueryExtender

ส่วนนี้เป็นการสาธิตการใช้คอนโทรล QueryExtender เพื่อช่วยการกรองข้อมูล จัดเรียงข้อมูลจาก eds อีกต่อหนึ่ง

5.1 กลับไปที่เพจ Course.aspx แล้วเพิ่มโค้ดเข้าไปส่วนท้ายดังนี้
รับทำเว็บ  webUB.com


เมื่อลองคลิก View จะได้ผลดังนี้
รับทำเว็บ  webUB.com


5.2 จากนั้นให้เพิ่มคอนโทรล QueryExtender ลงไป โดยระบให้ติดต่อกับคอนโทรล SearchEntityDataSource (บรรทัดที่ 49)

การค้นหาให้ค้นจากอักษรนำหน้า ในฟิลด์ Title (ดูบรรทัดที่ 51)
โดยรับค่าที่ป้อนจากคอนโทรลคือ SearchTextbox (บรรทัดที่ 52)
นอกจากนี้ยังจัดเรียงจากฟิลด์ชื่อสาขาวิชา และมีทิศทางจากน้อยไปมาก (56)
นอกจากนั้นยังเรียงตามชือวิชาอีกด้วย (57)

จากที่กลาวมานี่คือโค้ดใน source view
รับทำเว็บ  webUB.com



5.3 สุดท้ายให้เพิ่ม gridview ลงไป
จากโค้ดเราจะแสดงชื่อสาขาวิชา รหัสวิชา ชื่อวิชา หน่วยกิต
รับทำเว็บ  webUB.com



5.4 ให้ลองรันเพจนี้ดู
เมื่อไม่ได้ค้นหาวิชาอะไร
รับทำเว็บ  webUB.com


เมื่อลองพิมพ์ค่าเพื่อค้นหาลงไป
รับทำเว็บ  webUB.com



6. การใช้ Like เพื่อการค้นหาข้อมูล
ส่วนนี้จะสาธิตการใช้ LIkE เพื่อค้นห้าข้อมูล ซึ่งมีลักษณะคล้ายกับการใช้ QueryExtender คอนโทรลดังหัวข้อที่ 5

แต่สำหรับหัวข้อนี้เป็นการแสดงการค้นหาข้อมูลในอีกรูปแบบหนึ่ง ที่สามารถให้ผลการทำงานได้เหมือนกัน หากท่านถนัดแบบใดก็เลือกใช้ตามความต้องการ

สำหรับตอนนี้เราจะสาธิตการค้นหาจากชื่อ หรือสกุลของ Student


6.1 ให้เปิดเพจ Student.aspx และเพิ่มโค้ดนี้ลงไปต่อจากโค้ดเดิม
รับทำเว็บ  webUB.com



6.2 และเพิม eds ลงไปโดยให้ติดต่อกับ entity People และที่สำคัญจะต้องระบุเงื่อนไข Where เพื่อกรองคนที่มีวันลงทะเบียนเรียนเท่านั้น และใช้ operator การค้นหา % กับฟิลด์ชื่อ รวมทั้งนามสกุลด้วย

การใช้ % นำหน้าข้อความที่ต้องการค้นหา หมายถึง จะมีอักษรนำหน้าอะไรก็ตามแต่ต้องมีข้อความที่เราระบุลงไป

และในทางกลับกันหากใชั้ % ตามหลังข้อความที่เราระบุ หมายถึง ค้นห้าอักษรที่มีคำตามเป็นอะไรก็ได้ แต่ต้องมีอักษรนำหน้าตามที่เราระบุ

สำหรับตัวอย่างนี้จะใช้ % ทั้งหน้าและหลังข้อความที่เราระบุ (บรรทัด 60)
รับทำเว็บ  webUB.com



6.3 จากนั้นสร้าง Gridview และระบุฟิลด์ที่ต้องการแสดงผลตามนี้
รับทำเว็บ  webUB.com



6.4 ทดลองรันเพจนี้
รับทำเว็บ  webUB.com

รับทำเว็บ  webUB.com


สำหรับบทที่ 3 จบเพียงเท่านี้ครับ หวัดดี

อ้างอิง: http://sinosoi.wordpress.com/2011/04/03/the-entity-framework-and-asp-net-part-3-filtering-ordering-and-grouping-data/

Short URL click!
<< กลับคืน : เข้าชม 14,593 ครั้ง : ขึ้นไปด้านบน

รับทำเว็บไซต์ รับสร้างเว็บไซต์ รับออกแบบเว็บ รับเขียนเว็บ รับสอนทำเว็บ รับเช่า hosting รับเช่าพื้นที่เว็บไซต์ จดชื่อเว็บ รับโปรโมทเว็บไซต์ รับดูแลเว็บ SiteMap
สปริงเกอร์http://www.xn--22c2c4blb9n.xn--o3cw4h/