Introduction
Dans ces travaux pratiques, vous allez construire une page Active
Server Pages (ASP) et une page ASP .NET, lesquelles génèrent
chacune une page HTML utilisant des données d'une base de
données. Dans les deux exemples, le concept de l'accès
aux données est le même : il implique une connexion
à une base de données. La différence tient
à la manière dont les données sont rassemblées
et affichées.
Création de la page ASP
- Pour ouvrir l'environnement de développement intégré
Visual Studio .NET, cliquez sur Démarrer, Programmes,
Experience VS .NET Content, Lab 3, puis sur ASP
Source. Une page ASP vierge avec pour nom de fichier Authors.asp
s'ouvre dans l'environnement IDE de Visual Studio .NET, comme l'indique
la figure 1.
figure 1. Page ASP
- Tapez le code suivant :
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual
Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<H1>Auteurs</H1>
<%
'
' Connexion à une base de données
'
dim cn
set cn = server.CreateObject("ADODB.Connection")
cn.Open "Provider=sqloledb;" _
& "Data Source=(local);" _
& "Initial Catalog=pubs;" _
& "User ID=sa"
' Récupération des données via l'objet Recordset.
dim rs
set rs = server.CreateObject("ADODB.Recordset")
rs.Open _
"select au_fname, au_lname, phone from authors order by au_lname",cn
%>
Remarque: Le mélange de script HTML et de script côté
serveur dans un tableau est représenté par le code
suivant. Un itération est faite sur le jeu d'enregistrements
afin d'extraire les données séquentiellement.
<TABLE border='1'>
<TR>
<TH>Prénom</TH>
<TH>Nom</TH>
<TH>Téléphone</TH>
</TR>
<%
do until rs.EOF
Response.Write "<TR>"
Response.Write "<TD>" & rs("au_fname")
& "</TD>"
Response.Write "<TD>" & rs("au_lname")
& "</TD>"
Response.Write "<TD>" & rs("phone")
& "</TD>"
Response.Write "</TR>"
rs.MoveNext
loop
%>
</TABLE>
<!-- Footer -->
<h5>Mis à jour le <%Response.Write now%></h5>
</DIV>
</BODY>
</HTML>
- Cliquez sur File, puis sur Save Authors.asp (Enregistrer
Authors.asp).
- Fermez l'environnement IDE.
Visualisation de la page ASP
Pour visualiser la page ASP, cliquez sur Démarrer,
Programmes, Experience VS .NET Content, Lab 3,
puis sur ASP. La page décrite à la figure 2
s'affiche.
figure 2. Résultats de la page ASP
Création de la page ASP .NET
- Pour ouvrir l'environnement IDE de Visual Studio .NET,
cliquez sur Démarrer, Programmes, Experience
VS .NET Content, Lab 3, puis sur ASP .NET VB Source.
Une page ASP .NET vierge avec pour nom de fichier Authors VB.aspx
s'ouvre dans l'environnement IDE de Visual Studio .NET, comme l'indique
la figure 3.
figure 3. Page ASP .NET
- Pour visualiser la source, cliquez sur le bouton HTML dans le
coin inférieur gauche de l'environnement IDE de Visual Studio
.NET.
- Tapez le code suivant :
Remarque: Les espaces de noms System.Data et System.Data.SqlClient
sont déclarés en haut de la page. Toutes les classes
avec ces espaces de noms sont disponibles pour la page ASP .NET.
<%@ Import Namespace="System.Data"
%>
<%@ Import Namespace="System.Data.SqlClient" %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual
Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<H1>Auteurs</H1>
Remarque: Le script côté serveur est totalement
isolé du HTML statique. Vous pouvez utiliser n'importe quel
langage d'exécution, tel que Microsoft® Jscript®
et C#, en plus de Microsoft Visual Basic®.
<script language="VB" runat="server">
Sub Page_Load(Src As Object, E As EventArgs)
Dim DS As DataSet
Dim MyConnection As SQLConnection
Dim MyCommand As SQLDataAdapter
MyConnection = New SQLConnection( _
"server=localhost;uid=sa;pwd=;database=pubs")
MyCommand = New SQLDataAdapter( _
"select au_fname as 'Prénom', au_lname as 'Nom', Phone
from Authors", _
MyConnection)
Remarque: L'objet DataSet dans le code suivant remplace
l'objet Recordset. Notez la méthode Fill de
l'objet SQLDataAdapter.
DS = new DataSet()
MyCommand.Fill(ds, "Authors")
Remarque: Observez comment le code suivant définit
la propriété DataSource du contrôle DataGrid.
Notez la collection Tables dans l'objet DataSet ;
à l'inverse des objets Recordset, les objets DataSet
peuvent contenir plusieurs tableaux.
grdAuthors.DataSource=ds.Tables("Authors").DefaultView
Remarque: Dans le code suivant, la méthode DataBind
du contrôle DataGrid charge les données dans
DataGrid. DataGrid affiche ensuite les données sous forme
de tableau HTML.
grdAuthors.DataBind()
End Sub
</script>
Remarque: La ligne de code suivante incorpore un objet DataGrid
à la page. Vous pouvez définir des propriétés
supplémentaires pour le contrôle DataGrid en ajoutant
des paires propriété/valeur. Par exemple : Width="700"
and BackColor="#ccccff".
<asp:DataGrid runat=server id=grdAuthors/>
<!-- Footer -->
<h5>Mis à jour le <%Response.Write (Now.ToString)%></h5>
</DIV>
</BODY>
</HTML>
- Cliquez sur Fichier puis sur Save Authors VB.aspx
(Enregistrer Authors VB.aspx).
- Fermez l'environnement IDE.
Visualisation de la page ASP .NET
Pour visualiser la page ASP .NET, cliquez sur Démarrer,
Programmes, Experience VS .NET Content, Lab 3,
puis sur ASP .NET-VB. La page présentée à
la figure 4 s'affiche.
figure 4. Page ASP .NET
Fin du laboratoire 3
Lorsque vous avez terminé de visualiser la page ASP
.NET, fermez toutes les fenêtres.
Initialement publié sur MSDN France le
18 janvier 2002
|