ADO.NET ยังเป็นส่วนหนึ่งของ NET Framework ที่เป็น ADO.NET ถูกนำมาใช้ในการจัดการการเข้าถึงข้อมูล ด้วย ADO.NET คุณสามารถทำงานกับฐานข้อมูล
ตัวอย่าง
เชื่อมต่อฐานข้อมูล - เชื่อมโยงกับการควบคุม DataList
เชื่อมต่อฐานข้อมูล - เชื่อมโยงกับการควบคุม Repeater
ADO.NET คืออะไร?
- ADO.NET เป็นส่วนหนึ่งของ NET Framework ที่เป็น
- ADO.NET ประกอบด้วยชุดของชั้นเรียนที่ใช้ในการจัดการการเข้าถึงข้อมูล
- ADO.NET จะขึ้นอยู่ทั้งหมดใน XML
- ADO.NET มีไม่เหมือน ADO ไม่มีระเบียนวัตถุ
สร้างการเชื่อมต่อฐานข้อมูล
เราจะใช้ฐานข้อมูล Northwind ในตัวอย่างของเรา
ครั้งแรกที่นำเข้า "System.Data.OleDb" namespace เราจำเป็นต้อง namespace นี้จะทำงานร่วมกับ Microsoft Access และผู้ให้บริการฐานข้อมูล OLE DB อื่น ๆ เราจะสร้างการเชื่อมต่อกับฐานข้อมูลใน subroutine Page_Load เราสร้างตัวแปร dbconn เป็นชั้น OleDbConnection ใหม่กับสตริงการเชื่อมต่อซึ่งระบุให้บริการ OLE DB และสถานที่ตั้งของฐานข้อมูล จากนั้นเราก็เปิดการเชื่อมต่อฐานข้อมูล:
<%@ 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>
Note: สตริงการเชื่อมต่อจะต้องเป็นสตริงต่อเนื่องโดยไม่แบ่งบรรทัด!
สร้างฐานข้อมูลคำสั่ง
เพื่อระบุระเบียนเพื่อดึงข้อมูลจากฐานข้อมูลเราจะสร้างตัวแปร 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 ใช้ในการอ่านกระแสของระเบียนจากแหล่งข้อมูล DataReader จะถูกสร้างขึ้นโดยการเรียก ExecuteReader วิธีของ OleDbCommand วัตถุ:
<%@ 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()