ADO.NET jest również częścią platformy .NET Framework. ADO.NET jest używany do obsługi dostępu do danych. Z ADO.NET można pracować z bazami danych.
Przykłady
Połączenia z bazą danych - Bind do kontroli DataList
Połączenia z bazą danych - Bind do kontroli Repeater
Co to jest ADO.NET?
- ADO.NET jest częścią .NET Framework
- ADO.NET składa się z zestawu klas używanych do obsługi dostępu do danych
- ADO.NET jest w całości oparty na XML
- ADO.NET ma, w przeciwieństwie do ADO, nie obiekt Recordset
Tworzenie połączenia z bazą danych
Mamy zamiar korzystać z bazy danych Northwind w naszych przykładach.
Po pierwsze, import "System.Data.OleDb" nazw. Musimy ten obszar nazw do pracy z Microsoft Access i innych dostawców baz danych OLE DB. Będziemy tworzyć połączenia z bazą danych w podprogramie Page_Load. Tworzymy dbconn zmienną jako nowej klasy OleDbConnection z ciągu połączenia, który identyfikuje dostawcę OLE DB oraz lokalizację bazy danych. Następnie otwieramy połączenie z bazą danych:
<%@ 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: Ciąg połączenia musi być ciągły ciąg bez przerwy linii!
Utworzyć polecenie Database
Aby określić rekordy mają być pobierane z bazy danych, będziemy tworzyć zmienną dbcomm jako nowej klasy OleDbCommand. Klasa OleDbCommand jest do wydawania zapytań SQL na tabele bazy danych:
<%@ 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>
Tworzenie DataReader
Klasa OleDbDataReader służy do odczytu strumienia rekordów ze źródła danych. DataReader jest tworzony poprzez wywołanie metody ExecuteReader obiektu 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>
Wiążą się z Kontroli Repeater
Potem wiążą DataReader do kontrolki Repeater:
Przykład
<%@ 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>
Pokaż przykład » Zamknąć połączenie z bazą danych
Zawsze blisko zarówno DataReader i baza połączenie po dostępu do bazy danych nie jest wymagane:
dbread.Close()
dbconn.Close()