การเชื่อมต่อฐานข้อมูล โดยใช้คอนโทรล SQLDataSource
การเชื่อมต่อฐานข้อมูล การเชื่อมต่อข้อมูลในฐานข้อมูลเพื่อนำมาแสดงผล แบ่งออก 2 ขั้นตอน 1. ใช้ DataSource Control เพื่อติดต่อกับแหล่งข้อมูล 2. แล้วใช้วิธีการผูกข้อมูล (Data binding) เพื่อผูกข้อมูลเข้ากับ DataBound Control เพื่อนำข้อมูลจากแหล่งข้อมูลที่เลือก มาแสดงบนเพจ
DataSource Control คือ กลุ่มคอนโทรลที่ใช้ติดต่อกับแหล่งข้อมูลที่ต้องการ มี 6 ชนิด SqlDataSource AccessDataSource LinqDataSource ObjectDataSource XmlDataSource SiteMapDataSource
SqlDataSource Control ใช้เชื่อมต่อกับฐานข้อมูลที่ใช้กับชุดคำสั่ง SQL เช่น Microsoft SQL Server, MySQL, Oracle, DB2 เป็นต้น มี property ที่สำคัญ เช่น ConnectionString ใช้กำหนดค่าให้เชื่อมต่อกับฐานข้อมูล SelectCommand/InsertCommand/DeleteCommand/ UpdateCommand ใช้กำหนดคำสั่ง SQL ที่ต้องการกระทำกับ ข้อมูล
การใช้คำสั่ง SQL SelectCommand InsertCommand UpdateCommand SELECT [ชื่อฟิลด์ข้อมูล] FROM [ชื่อตาราง] WHERE [เงื่อนไขการเลือกข้อมูล] InsertCommand INSERT INTO [ชื่อตาราง] ([ชื่อฟิลด์ข้อมูล]) VALUES ([ค่าของฟิลด์ข้อมูล]) UpdateCommand UPDATE [ชื่อตาราง] SET [ชื่อฟิลด์ข้อมูล]=[ค่าของฟิลด์ข้อมูล] WHERE [เงื่อนไข การอัพเดท] DeleteCommand DELETE FROM [ชื่อตาราง] WHERE [เงื่อนไขการลบ]
DataBound Control เป็นกลุ่มคอนโทรลที่นำข้อมูลจากแหล่งข้อมูลมาแสดงบนเพจ Data Binding คือ การผูก (Bind) ข้อมูล จากแหล่งข้อมูล ไว้กับคอนโทรลเพื่อ แสดงข้อมูลบนเพจ
สร้างฐานข้อมูลใหม่ Add new item > SQL Server Database ตั้งชื่อไฟล์ นามสกุลไฟล์ .mdf
การสร้างตาราง ตาราง Category ตาราง Product
การสร้างตาราง กำหนดคีย์หลักให้มีการเพิ่มค่าอัตโนมัติทุกครั้งที่มีการเพิ่มข้อมูล โดยกำหนดที่ Column Property ที่ชื่อว่า Identity specification แล้วเลือกพรอพเพอร์ตี้ IsIdentity เป็น yes
ตัวอย่างข้อมูลตาราง Catagory
ตัวอย่างข้อมูลตาราง Product
ตัวอย่าง Diagram Relations
Catalog.aspx สร้างไฟล์ Catalog.aspx ใช้ SqlDataSource เพื่อติดต่อฐานข้อมูล
การเชื่อมต่อกับฐานข้อมูลด้วย SqlDataSource Control เลือก Configure Data Source เลือก Data Source > Microsoft SQL Server Database File Browse หาไฟล์ database(.mdf) Save Connection String กำหนดคำสั่ง SQL ที่ต้องการสอบถาม
Catalog.aspx เลือก Define custome statements or stored procedures
Catalog.aspx ใช้คอนโทรล DataGridView เพื่อแสดงผลรายการสินค้าดังรูป
Catalog.aspx ต้องการทำ HyperLinkField สำหรับชื่อสินค้า เมื่อผู้ใช้คลิ๊กที่ชื่อสินค้าแล้วให้ แสดงผลรายละเอียดหนังสือในหน้าถัดไป ลบฟิลด์ชื่อหนังสือทิ้ง แล้วสร้างใหม่โดยมีชนิดเป็น HyperLinkField
Detail.aspx สร้างไฟล์ Detail.aspx ใช้ SqlDataSource เพื่อติดต่อกับฐานข้อมูล กำหนดคำสั่ง sql เพื่อแสดงข้อมูลสินค้านั้นจาก id ที่ผู้ใช้เลือก
Detail.aspx กำหนดพารามิเตอร์
Detail.aspx ใช้ DetailView ในการแสดงผลรายละเอียดสินค้า สร้างปุ่ม LinkButton เพื่อกลับสู่หน้ารายการสินค้า
แบบฝึกหัด เพิ่มการแสดงผลในหน้า Catalog โดยเพิ่ม Dropdownlist ตัวเลือกการแสดงสินค้า จากหมวดหมู่ หากผู้ใช้เลือกหมวดหมู่ใด ก็จะแสดงรายการสินค้าทั้งหมดในหมวดหมู่นั้นผ่าน GridView
วิธีทำ สร้าง SQLDataSource เพื่อติดต่อกับตาราง Category โดยกำหนดคำสั่ง sql เพื่อ เลือกข้อมูลมาทั้งหมดแบบไม่มีเงื่อนไข สร้าง DropDownList เพื่อแสดงชื่อหมวดหมู่ โดย bind ข้อมูลเข้ากับ SQLDataSource ในข้อ 1 เลือก Choose Data Source ที่ DropDownList เพื่อกำหนดว่าจะให้ฟิลด์ใดแสดงผล และให้ฟิลด์ใดเก็บค่า สร้าง GridView มาแสดงรายการสินค้า