ASP.NET เว็บฟอร์ม - การเชื่อมต่อฐานข้อมูล
ในส่วนนี้เราจะอธิบาย วิธีการใช้งานการเชื่อมต่อฐานข้อมูลใน ASP.NET ในเนื้อหาต่อไปนี้ คุณจะเข้ามาติดต่อกับ ADO.NETADO.NET ยังเป็นส่วนหนึ่งของ .NET Framework อีกด้วย ADO.NET ใช้เพื่อจัดการการเข้าถึงข้อมูล คุณสามารถใช้งานฐานข้อมูลผ่าน ADO.NET
ตัวอย่าง
การเชื่อมต่อฐานข้อมูล - เชื่อมโยงกับการควบคุม DataList
การเชื่อมต่อฐานข้อมูล - เชื่อมโยงกับการควบคุม Repeater
ADO.NET เป็นส่วนหนึ่งของ .NET Framework
ADO.NET ประกอบด้วยชุดของคลาสที่จัดการการเข้าถึงข้อมูล
ADO.NET ขึ้นอยู่กับ XML อย่างสมบูรณ์
ADO.NET ไม่มีวัตถุ Recordset ซึ่งแตกต่างจาก ADO
ในตัวอย่างของเรา เราจะใช้ฐานข้อมูล Northwind
ขั้นแรก นำเข้าเนมสเปซ "System.Data.OleDb" เราต้องการเนมสเปซนี้เพื่อใช้งาน Microsoft Access และผู้ให้บริการฐานข้อมูล OLE DB อื่นๆ เราจะสร้างการเชื่อมต่อกับฐานข้อมูลนี้ในรูทีนย่อย Page_Load เราสร้างตัวแปร dbconn และกำหนดคลาส OleDbConnection ใหม่พร้อมกับสตริงการเชื่อมต่อที่ระบุผู้ให้บริการ OLE DB และที่ตั้งฐานข้อมูล จากนั้นเราเปิดการเชื่อมต่อฐานข้อมูล:
<%@ นำเข้า Namespace = "System.Data.OleDb" %><script runat = "เซิร์ฟเวอร์"> ย่อย Page_Loaddim dbconndbconn = OleDbConnection ใหม่ ("Provider = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & server.mappath ( "northwind.mdb"))dbconn.Open()ส่วนท้าย</script>
หมายเหตุ: สตริงการเชื่อมต่อนี้จะต้องเป็นสตริงต่อเนื่องโดยไม่มีการขึ้นบรรทัดใหม่!
ในการระบุบันทึกที่จะดึงข้อมูลจากฐานข้อมูล เราจะสร้างตัวแปร dbcomm และกำหนดคลาส OleDbCommand ใหม่ให้กับมัน คลาส OleDbCommand นี้ใช้เพื่อออกคำสั่ง SQL กับตารางฐานข้อมูล:
<%@ นำเข้า Namespace = "System.Data.OleDb" %><script runat = "เซิร์ฟเวอร์"> ย่อย Page_Loaddim dbconn, sql, dbcommdbconn = OleDbConnection ใหม่ ("Provider = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM ลูกค้า"dbcomm=ส่วนย่อย OleDbCommand ใหม่ (sql,dbconn) สิ้นสุด</script>
คลาส OleDbDataReader ใช้เพื่ออ่านสตรีมของระเบียนจากแหล่งข้อมูล DataReader ถูกสร้างขึ้นโดยการเรียกเมธอด ExecuteReader ของวัตถุ OleDbCommand:
<%@ นำเข้า Namespace = "System.Data.OleDb" %><script runat = "เซิร์ฟเวอร์"> ย่อย Page_Loaddim dbconn, sql, dbcomm, dbreaddbconn = OleDbConnection ใหม่ ("Provider = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * จากลูกค้า"dbcomm=New OleDbCommand(sql,dbconn)dbread=dbcomm.ExecuteReader()end sub</script>
จากนั้นเราผูก DataReader เข้ากับตัวควบคุม Repeater:
<%@ นำเข้า Namespace = "System.Data.OleDb" %><script runat = "เซิร์ฟเวอร์"> ย่อย Page_Loaddim dbconn, sql, dbcomm, dbreaddbconn = OleDbConnection ใหม่ ("Provider = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * จากลูกค้า"dbcomm=ใหม่ OleDbCommand(sql,dbconn)dbread=dbcomm.ExecuteReader()customers.DataSource=dbreadcustomers.DataBind()dbread.Close()dbconn.Close()end sub</script><html><body> <form runat="server"><asp:Repeater id="ลูกค้า" runat="server"><HeaderTemplate><table><tr><th>ชื่อบริษัท</th><th>ชื่อผู้ติดต่อ</th><th>ที่อยู่</th><th>เมือง</th></tr ></HeaderTemplate><ItemTemplate><tr><td><%#Container.DataItem("ชื่อบริษัท")%></td><td><%#Contain er.DataItem("ชื่อผู้ติดต่อ")%></td><td><%#Container.DataItem("ที่อยู่")%></td><td><%#Container.DataItem("เมือง")%> </td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></form></body></html>
หากคุณไม่จำเป็นต้องเข้าถึงฐานข้อมูลอีกต่อไป อย่าลืมปิด DataReader และการเชื่อมต่อฐานข้อมูล:
dbread.Close()dbconn.ปิด()