Le premier bloc de code de l'exemple suivant est typique d'un type d'application ASP qui utilise ADO pour lire et manipuler un jeu d'enregistrements renvoyé par une seule requête SQL. Il utilise l'objet ADO Recordset pour lire les enregistrements de données renvoyés par l'exemple de base de données Northwind fourni avec Microsoft Access. Le code sera contenu dans un fichier avec une extension de fichier .asp.
[Visuel Basique]
< %@LANGUAGE=VBSCRIPT% >
<!
Cet exemple ASP utilise ADO pour lire les enregistrements d'une base de données et en imprimer deux
champs de tous les enregistrements renvoyés vers une page ASP. La connexion à la base de données Northwind s'effectue via une source de données système ODBC (DSN.
>
<html>
<corps>
<%
dim ADOconn, ADOrs, sqlstr
sqlstr="SELECT * FROM Employés ;"
définir ADOconn = Server.CreateObject("ADODB.Connection")
ADOconn.Ouvrez "DSN = Test"
définir ADOrs = ADOconn.execute(sqlstr)
si ADOrs.BOF et ADOrs.EOF alors ' La requête n'a renvoyé aucun enregistrement.
Réponse.Write("Aucun enregistrement.")
autre
ADOrs.MoveFirst
Faire sans ADOrs.EOF
Réponse.Write(ADOrs("FirstName") & " " _
& ADOrs("Nom") & "<br>")
ADOrs.MoveNext
Boucle
Response.Write("<p>Fin des données.")
finir si
ADOrs.close
définir ADOrs = rien
%>
</corps>
</html>
L'exemple suivant illustre les modifications minimales requises pour convertir l'exemple précédent en une application ASP.NET. La plupart des modifications sont nécessaires pour se conformer à la nouvelle syntaxe Visual Basic. Ce fichier peut être renommé avec une extension de fichier .aspx et fonctionnera avec ASP.NET. Les lignes de code modifiées sont affichées en gras. Notez que la directive <%@ Page > avec l'attribut aspcompat=true a été ajoutée sur la première ligne.
[Visuel Basique]
< %@Page aspcompat=true Langue = VB%>
<!
Cet exemple utilise ADO pour lire les enregistrements d'une base de données et en imprimer deux
champs de tous les enregistrements de la base de données vers une page ASP.NET.
La base de données est située sur le serveur et la connexion s'effectue via une source de données système ODBC (DSN.
>
<html>
<corps>
<%
faible objConn, rs, sqlstr
sqlstr="SELECT * FROM Employés ;"
objConn = Server.CreateObject("ADODB.Connection") ' Ensemble supprimé.
objConn.Open("DSN=TEST") ' Parenthèses ajoutées.
rs = objConn.execute(sqlstr) ' Instruction Set supprimée.
Response.Write("<p>Test ADO</p>")
si rs.BOF et rs.EOF alors ' La requête n'a renvoyé aucun enregistrement.
Réponse.Write("Aucun enregistrement")
autre
rs.MoveFirst
Faire sans rs.EOF
'Spécifiez la propriété Valeur.
Réponse.Write(rs("FirstName").Value _
& " " & rs("LastName").Valeur & "<br>")
rs.MoveNext
Boucle
Response.Write("<p>Fin des données")
finir si
rs.fermer
rs = rien ' Instruction Set supprimée.
%>
L'exemple suivant est une application ASP.NET qui utilise ADO.NET pour lire les enregistrements de la même base de données Northwind que l'exemple précédent. La sortie générée par ce code est équivalente à la sortie de l'exemple précédent et a été modifiée pour se conformer à la convention de bloc de code ASP.NET.
L'exemple crée un objet ADO.NET DataSet, qui dans ce cas contient une table de données qui peut être utilisée de la même manière qu'un jeu d'enregistrements ADO. Notez qu'un ensemble de données peut être composé d'une ou plusieurs collections de DataTables, DataRelations et Constraints qui constituent une base de données résidant en mémoire. Les ensembles de données ADO.NET sont donc beaucoup plus flexibles que les jeux d'enregistrements ADO.
Pour utiliser ADO.NET, les espaces de noms System.Data et System.Data.OleDb doivent être importés. Si la source de données est une base de données SQL Server, importez l'espace de noms System.Data.SqlClient au lieu de System.Data.OleDb. Pour plus d'informations sur l'utilisation d'ADO et de l'objet de connexion du fournisseur de données SQL .NET, consultez Gestion des connexions.
[Visuel Basique]
< %@Import Namespace="System.Data"%>
< %@Import Namespace="System.Data.OleDb"%>
<!
Cet exemple utilise ADO.NET pour lire les enregistrements d'une base de données et en imprimer deux
champs de tous les enregistrements renvoyés vers une page ASP.NET La base de données.
est situé sur le serveur local.
>
<html>
<Langage Script=VB Runat=Serveur>
Sub Page_Load (Expéditeur en tant qu'objet, et en tant qu'EventArgs)
Atténuer MyConnection en tant que OleDbConnection
Dim MyCommand en tant qu'OleDbDataAdapter
dim MyDataset en tant que DataSet
dim MyTable en tant que DataTable
dim loop1, nombres sous forme d'entier
dim sqlstr sous forme de chaîne
sqlstr = "SELECT * FROM Employés ;"
'Créer une connexion à la source de données.
MaConnexion = Nouvelle OleDbConnection("Provider=SQLOLEDB;" _
& "server=localhost;"Sécurité intégrée=SSPI;" _
& "Initial Catalog=Northwind")
' Crée un objet Command avec l'instruction SQL.
MyCommand = New OleDbDataAdapter(sqlstr, MyConnection)
' Remplit un DataSet avec les données renvoyées par la base de données.
MyDataset = Nouveau DataSet
MaCommande.Fill(MonDataset)
'Créer un nouvel objet DataTable et lui attribuer
' la nouvelle table de la collection Tables.
MaTable = Nouveau DataTable
MaTable = MonDataset.Tables(0)
' Trouver le nombre de lignes dans la collection Rows
' du nouvel objet DataTable.
nombres = MaTable.Rows.Count
Si nombres = 0 alors
Response.Write("<p>Aucun enregistrement.</p>")
Autre
Response.Write("<p>" & Cstr(numrows) & " enregistrements trouvés.</p>")
Pour boucle1 = 0 Pour nombres - 1
' Imprime les valeurs des deux colonnes dans les Colonnes
' collection pour chaque ligne.
Réponse.Write(MyTable.Rows(loop1).Item("FirstName") _
& " " & MaTable.Rows(loop1).Item("LastName") & "<br>")
Boucle suivante1
Fin si
Response.Write("<p>Fin des données.</p>")
Fin du sous-marin
</Script>
</html>
Dans les situations où une requête de base de données (ou même une requête de jointure multi-tables) renvoie un seul jeu d'enregistrements, un seul DataTable (MyTable dans cet exemple) peut être utilisé à peu près de la même manière qu'un jeu d'enregistrements ADO.
Reportez-vous à la « Documentation du SDK NET FRAMEWORK »