ASP.NET Web Forms - Database Connection
ADO.NET ist ebenfalls eine Komponente des .NET-Frameworks. ADO.NET wird zur Verwaltung des Datenzugriffs verwendet. Über ADO.NET können Sie Datenbanken bearbeiten.
Ausprobieren – Beispiel
Datenbankverbindung – An DataList-Steuerelement binden
Datenbankverbindung – An Repeater-Steuerelement binden
Was ist ADO.NET?
- ADO.NET ist eine Komponente des .NET-Frameworks
- ADO.NET besteht aus einer Reihe von Klassen zur Verwaltung des Datenzugriffs
- ADO.NET basiert vollständig auf XML
- ADO.NET hat kein Recordset-Objekt, was einen Unterschied zu ADO darstellt
Datenbankverbindung erstellen
In unserem Beispiel verwenden wir die Northwind-Datenbank.
Importieren Sie zuerst den Namespace "System.Data.OleDb". Wir benötigen diesen Namespace für die Arbeit mit Microsoft Access und anderen OLE DB-Datenbankanbietern. Wir erstellen die Datenbankverbindung in der Subroutine Page_Load. Wir erstellen eine Variable dbconn und weisen ihr eine neue OleDbConnection-Klasse zu, die eine Verbindungszeichenfolge enthält, welche den OLE DB-Anbieter und den Speicherort der Datenbank angibt. Dann öffnen wir die Datenbankverbindung:
<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>
Hinweis:Diese Verbindungszeichenfolge muss eine zusammenhängende Zeichenfolge ohne Zeilenumbrüche sein!
Datenbankbefehl erstellen
Um anzugeben, welche Datensätze aus der Datenbank abgerufen werden sollen, erstellen wir eine Variable dbcomm und weisen ihr eine neue OleDbCommand-Klasse zu. Diese OleDbCommand-Klasse wird verwendet, um SQL-Abfragen für Datenbanktabellen auszuführen:
<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 erstellen
Die Klasse OleDbDataReader wird verwendet, um einen Datenstrom von Datensätzen aus einer Datenquelle zu lesen. Der DataReader wird durch Aufrufen der Methode ExecuteReader des OleDbCommand-Objekts erstellt:
<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>
An Repeater-Steuerelement binden
Dann binden wir den DataReader an das Repeater-Steuerelement:
Beispiel
<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>Stadt</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>
Demobeispiel »
Datenbankverbindung schließen
Wenn Sie nicht länger auf die Datenbank zugreifen müssen, denken Sie daran, den DataReader und die Datenbankverbindung zu schließen:
dbconn.Close()
Andere Erweiterungen