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.


Examples

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:

<%@ 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>

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:

<%@ 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 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:

<%@ 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>


An Repeater-Steuerelement binden

Dann binden wir den DataReader an das Repeater-Steuerelement:

Beispiel

<%@ 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>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:

dbread.Close()
dbconn.Close()

Andere Erweiterungen