Formulaires Web ASP.NET - Connexion à la base de données
Dans cette section, nous expliquons Comment les connexions aux bases de données sont implémentées dans ASP.NET. Dans le contenu suivant, vous entrerez en contact avec ADO.NET.ADO.NET fait également partie du .NET Framework. ADO.NET est utilisé pour gérer l'accès aux données. Grâce à ADO.NET, vous pouvez exploiter la base de données.
Exemple
Connexion à la base de données - liaison au contrôle DataList
Connexion à la base de données - liée au contrôle du répéteur
ADO.NET fait partie du .NET Framework
ADO.NET se compose d'une série de classes qui gèrent l'accès aux données
ADO.NET est entièrement basé sur XML
ADO.NET n'a pas d'objet Recordset, contrairement à ADO
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 faire fonctionner Microsoft Access et d'autres fournisseurs de bases de données OLE DB. Nous allons créer la connexion à cette base de données dans le sous-programme Page_Load. Nous créons une variable dbconn et lui attribuons une nouvelle classe OleDbConnection avec 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_Loaddim dbconndbconn=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 saut de ligne !
Pour spécifier les enregistrements à récupérer de la base de données, nous allons créer une variable dbcomm et lui attribuer une nouvelle classe OleDbCommand. Cette classe OleDbCommand est utilisée pour émettre des requêtes SQL sur les tables de base de données :
<%@ Import Namespace="System.Data.OleDb" %><script runat="server">sub Page_Loaddim dbconn,sql,dbcommdbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM clients"dbcomm=Nouveau OleDbCommand(sql,dbconn)end sub</script>
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_Loaddim dbconn,sql,dbcomm,dbreaddbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source= " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM clients"dbcomm=New OleDbCommand(sql,dbconn)dbread=dbcomm.ExecuteReader()end sub</script>
Ensuite, nous lions le DataReader au contrôle Repeater :
<%@ Import Namespace="System.Data.OleDb" %><script runat="server">sub Page_Loaddim dbconn,sql,dbcomm,dbreaddbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source= " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM clients"dbcomm=New OleDbCommand(sql,dbconn)dbread=dbcomm.ExecuteReader()customers.DataSource=dbreadcustomers.DataBind()dbread.Close()dbconn.Close()end sub</script><html><body> <form runat="server"><asp:Repeater id="clients" runat="server"><HeaderTemplate><table><tr><th>Nom de la société</th><th>Nom du contact</th><th>Adresse</th><th>Ville</th></tr ></HeaderTemplate><ItemTemplate><tr><td><%#Container.DataItem("companyname")%></td><td><%#Contain er.DataItem("nom du contact")%></td><td><%#Container.DataItem("adresse")%></td><td><%#Container.DataItem("ville")%> </td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></form></body></html>
Si vous n'avez plus besoin d'accéder à la base de données, pensez à fermer le DataReader et la connexion à la base de données :
dbread.Close()dbconn.Close()