ASP.NET - การเชื่อมต่อฐานข้อมูล
- หน้าก่อนหน้า DataList WebForms
- หน้าต่อไป Master Page WebForms
ADO.NET ยังเป็นส่วนประกอบของ .NET Framework
ภารกิจของ ADO.NET คือการจัดการการเข้าถึงข้อมูล。ผ่าน ADO.NET คุณสามารถปฎิบัติงานกับฐานข้อมูลได้
ตัวอย่าง
อะไรคือ ADO.NET?
- ADO.NET คือส่วนประกอบของ .NET Framework
- ADO.NET ประกอบด้วยตัวแปรที่ใช้ในการจัดการการเข้าถึงข้อมูล
- ADO.NET ทั้งหมดขึ้นอยู่กับ XML
- ADO.NET ไม่มีวัตถุ Recordset นี้ต่างจาก ADO
สร้างการเชื่อมต่อฐานข้อมูล
เรามีแผนที่จะใช้ฐานข้อมูล Northwind ที่เคยใช้แล้ว
เราจะนำเข้าชื่อช่วง "System.Data.OleDb" ญาณะก่อน
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("northwind.mdb")") dbconn.Open() end sub </script>
หมายเหตุ:ตัวพิมพ์สายนี้ต้องเป็นตัวพิมพ์สายที่ไม่มีการหยุดพัก!
สร้างคำสั่งฐานข้อมูล
เพื่อกำหนดบันทึกที่ต้องการดึงมาจากฐานข้อมูล เราจะสร้างตัวแปร dbcomm และกำหนดค่าใหม่ที่เป็น OleDbCommand โดยคลาส OleDbCommand นี้ใช้เพื่อส่งคำสั่ง SQL ต่อตารางฐานข้อมูล:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn,sql,dbcomm dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql="SELECT * FROM customers" dbcomm=New OleDbCommand(sql,dbconn) end sub </script>
สร้าง DataReader
OleDbDataReader คลาสที่ใช้เพื่ออ่านสตรีมของบันทึกจากแหล่งข้อมูล
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn,sql,dbcomm,dbread dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql="SELECT * FROM customers" dbcomm=New OleDbCommand(sql,dbconn) dbread=dbcomm.ExecuteReader() end sub </script>
ผูกไปยังควบคุม Repeater
จากนั้น เราจะผูก DataReader ไปยังควบคุม Repeater:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn,sql,dbcomm,dbread dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql="SELECT * FROM customers" dbcomm=New OleDbCommand(sql,dbconn) dbread=dbcomm.ExecuteReader() customers.DataSource=dbread customers.DataBind() dbread.Close() dbconn.Close() end sub </script> <html> <body> <form runat="server"> <asp:Repeater id="customers" runat="server"> <HeaderTemplate> <table border="1" width="100%"> <tr> <th>Companyname</th> <th>Contactname</th> <th>Address</th> <th>City</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Container.DataItem("companyname")%></td> <td><%#Container.DataItem("contactname")%></td> <td><%#Container.DataItem("address")%></td> <td><%#Container.DataItem("city")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> </body> </html>
ปิดเชื่อมต่อฐานข้อมูล
หลังจากที่เชื่อมต่อฐานข้อมูลที่ไม่จำเป็นต้องใช้ จงจดจำที่จะปิด DataReader และเชื่อมต่อฐานข้อมูลเสมอ
dbread.Close() dbconn.Close()
- หน้าก่อนหน้า DataList WebForms
- หน้าต่อไป Master Page WebForms