Salve avrei bisogno di una spiegazione su questo codice:
<%@ Page Language="VB" ValidateRequest="false" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
Private Sub Page_Load(sender As Object, e As EventArgs)
' Creo un oggetto connection, command e datareader del namespace OleDB
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
' Apro la connessione
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" _
& Server.MapPath("db/NWIND.MDB")
cn = New OleDbConnection(str)
cn.Open()
' Lancio una query nell'oggetto commando di OleDB
cmd = New OleDbCommand("SELECT * FROM Clienti", cn)
' Eseguo la query in un datareader
dr = cmd.ExecuteReader()
' Mostro i dati a video
While (dr.Read())
Clienti.Text += dr("NomeSocietà") & " " & dr("Contatto") & "
"
End While
' Un po di pulizia...
dr.Close()
cn.Close()
End Sub
</script>
<html>
<head>
<title>Utilizzo di ADO.NET</title>
</head>
<body>
<form id="Modulo" runat="server">
<asp:Label id="Clienti" runat="server" />
</form>
</body>
</html>
Premetto che il programma funziona alla perfezione. Praticamente vengono estratti due dati da un database concatenati e visualizzati in una label. Il risultato è una label per ogni NomeSocietà e Contatto visualizzato. Ma quello che non capisco è (sembrerà banale) se io ho predisposto nel tag form una sola label come mai me ne stampa tante quanti sono i record del database. Premetto che provengo da ASP e quindi sono abituato ad un diverso tipo di visualizzazione dei dati.