ASP.NET - databaseverbinding

ADO.NET is ook een onderdeel van het .NET Framework.

De taak van ADO.NET is om toegang tot gegevens te verwerken. Met ADO.NET kunt u databases manipuleren.

Wat is ADO.NET?

  • ADO.NET is een onderdeel van het .NET Framework
  • ADO.NET bestaat uit een reeks klassen die zijn ontworpen om data access te beheren
  • ADO.NET is volledig gebaseerd op XML
  • ADO.NET heeft geen Recordset-object, wat verschilt van ADO

Maak databaseverbinding aan

We zullen de eerder gebruikte Northwind-database gebruiken.

Eerst importeren we de naamruimte "System.Data.OleDb". We hebben deze naamruimte nodig om Microsoft Access en andere OLE DB-databankproviders te kunnen gebruiken. We zullen in de Page_Load-subroep een verbinding met deze database maken. We hebben een dbconn-variabele gemaakt en hebben een nieuwe OleDbConnection-klasse toegewezen aan deze variabele, die een connectiestrings bevat die de locatie van OLE DB en de database aangeeft. Vervolgens openen we deze databaseverbinding:

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

Opmerking:Deze connectiestrings moeten zonder regelinbreuken zijn!

Maak databasecommando aan

Om te specificeren welke records we van de database moeten ophalen, zullen we een dbcomm-variabele maken en deze een nieuwe OleDbCommand-waarde toekennen. Deze OleDbCommand-klasse wordt gebruikt om SQL-queries voor database-tabellen uit te voeren:

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

Maak DataReader aan

De OleDbDataReader-klasse wordt gebruikt om een recordstroom uit de gegevensbron te lezen. Door de ExecuteReader-methode van het OleDbCommand-object aan te roepen, kan een DataReader worden gemaakt:

<%@ 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 aan Repeater-knop

Dan, binden we deze DataReader aan een Repeater-knop:

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

Toon dit voorbeeld

Sluit de databaseverbinding

Vergeet altijd om de DataReader en de databaseverbinding te sluiten nadat je de database hebt gebruikt:

dbread.Close()
dbconn.Close()