ASP.NET - Datenbankverbindung

ADO.NET ist ebenfalls ein Bestandteil der .NET-Framework-Architektur.

Die Funktion von ADO.NET ist die Verwaltung des Datenzugriffs. Mit ADO.NET können Sie Datenbanken verwalten.

Was ist ADO.NET?

  • ADO.NET ist ein Bestandteil der .NET-Framework-Architektur
  • ADO.NET besteht aus einer Reihe von Klassen, die für den Datenzugriff verwendet werden
  • ADO.NET basiert vollständig auf XML
  • ADO.NET hat kein Recordset-Objekt, was sich von ADO unterscheidet

Erstellen von Datenbankverbindung

Wir beabsichtigen, die einmal verwendete Northwind-Datenbank zu verwenden.

Zunächst importieren wir den Namensraum "System.Data.OleDb". Wir benötigen diesen Namensraum, um Microsoft Access und andere OLE DB-Datenbankanbieter zu verwenden. Wir erstellen in der Page_Load-Untermethode eine Verbindung zu dieser Datenbank. Wir erstellen eine dbconn-Variablen und vergeben ihr eine neue OleDbConnection-Klasse, die eine Verbindungszeichenfolge enthält, die die Position von OLE DB und der Datenbank anweist. Dann öffnen wir diese 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>

Anmerkung:Diese Verbindungszeichenfolge muss eine kontinuierliche, ohne Umbrüche break-free-Zeichenfolge sein!

Erstellen von Datenbankbefehl

Um zu bestimmen, welche Datensätze aus der Datenbank abgerufen werden sollen, erstellen wir eine dbcomm-Variablen und vergeben ihr einen neuen OleDbCommand. Diese OleDbCommand-Klasse wird verwendet, um SQL-Abfragen an Datenbanktabellen zu senden:

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

Erstellen von DataReader

Die OleDbDataReader-Klasse wird verwendet, um Datensätze aus einem Datenquelle zu lesen. Durch Aufruf des ExecuteReader-Verfahrens eines OleDbCommand-Objekts kann ein DataReader erstellt werden:

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

Binden an Repeater-Kontrollen

Dann binden wir diesen DataReader an einen Repeater-Kontrollen:

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

Diese Beispielanzeige anzeigen

Datenbankverbindung schließen

Nachdem Sie den Zugriff auf die Datenbank benötigen, vergessen Sie nicht, immer den DataReader und die Datenbankverbindung zu schließen:

dbread.Close()
dbconn.Close()