ASP.NET Web Forms - Connexion à la base de données


ADO.NET est aussi un composant du framework .NET. ADO.NET est utilisé pour gérer l'accès aux données. Grâce à ADO.NET, vous pouvez manipuler des bases de données.


Examples

Essayez-le - Exemple

Connexion à la base de données - Lier au contrôle DataList

Connexion à la base de données - Lier au contrôle Repeater


Qu'est-ce que ADO.NET ?

  • ADO.NET est un composant du framework .NET
  • ADO.NET se compose d'une série de classes utilisées pour gérer l'accès aux données
  • ADO.NET est entièrement basé sur XML
  • ADO.NET n'a pas d'objet Recordset, ce qui le différencie d'ADO

Créer une connexion à la base de données

Dans notre exemple, nous utiliserons la base de données Northwind.

Tout d'abord, importez l'espace de noms "System.Data.OleDb". Nous avons besoin de cet espace de noms pour fonctionner avec Microsoft Access et d'autres fournisseurs de bases de données OLE DB. Nous allons créer la connexion à la base de données dans la sous-routine Page_Load. Nous créons une variable dbconn et lui assignons une nouvelle classe OleDbConnection, qui a une chaîne de connexion indiquant le fournisseur OLE DB et l'emplacement de la base de données. Ensuite, nous ouvrons la connexion à la base de données :

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

Remarque :Cette chaîne de connexion doit être une chaîne continue sans sauts de ligne !


Créer une commande de base de données

Pour spécifier les enregistrements à récupérer depuis la base de données, nous allons créer une variable dbcomm et lui affecter une nouvelle classe OleDbCommand. Cette classe OleDbCommand est utilisée pour émettre des requêtes SQL sur les tables de la base de données :

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


Créer un DataReader

La classe OleDbDataReader est utilisée pour lire un flux d'enregistrements à partir d'une source de données. Le DataReader est créé en appelant la méthode ExecuteReader de l'objet 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>


Lier au contrôle Repeater

Ensuite, nous lions le DataReader au contrôle Repeater :

Exemple

<%@ 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>Nom de la société</th>
<th>Nom du contact</th>
<th>Adresse</th>
<th>Città</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>

Exemple de démonstration »

Fermer la connexion à la base de données

Si vous n'avez plus besoin d'accéder à la base de données, n'oubliez pas de fermer le DataReader et la connexion à la base de données :

dbread.Close()
dbconn.Close()

Autres extensions