Ho una pagina di esempio che avevo chiamato "iterare_datareader.aspx"
Nella pagina ho una label chiamata Label1
Il codice è (è in Basic, ma non avrai difficoltà a tradurlo in c#
)
codice:
Option Strict On
Partial Class CorsoApogeo_wrox_gestione_dati_datareader_iterare_datareader
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sql$ = "SELECT * FROM CAMPI"
Dim Reader As OleDbDataReader = Nothing
Dim s As New StringBuilder
Try
Reader = GetDataReader(StringaConnessioneTest, sql)
Dim Colonne% = Reader.FieldCount
s.Append("<table border='1' cellspacing='1' cellpadding='2'>")
s.Append("<tr>")
For j As Integer = 0 To Colonne - 1
s.Append("<th>" & Reader.GetName(j) & "</th>")
Next
s.Append("<th>" & "link" & "</th>")
s.Append("</tr>")
Do While (Reader.Read)
s.Append("<tr>")
For j As Integer = 0 To Colonne - 1
s.Append("<td>" & libreria.NullToSpace(Reader.Item(j)) & "</td>")
Next
s.Append("<td>" & "link" & "</td>")
s.Append("</tr>")
Loop
Me.Label1.Text = s.ToString
Catch er As Exception
Me.Label1.Text = er.Message
Finally
If Reader IsNot Nothing Then Reader.Close()
End Try
End Sub
End Class
ps. dimenticavo
GetDataReader è una funzione di libreria esterna compilata
codice:
Public Function GetDataReader(ByVal stringaConnessione$, ByVal stringaSQL$) As OleDbDataReader
Dim Reader As OleDbDataReader
Dim Connessione As OleDbConnection
Try
Connessione = New OleDbConnection(stringaConnessione)
Connessione.Open()
Dim Comando As New OleDbCommand(stringaSQL, Connessione)
Reader = Comando.ExecuteReader(CommandBehavior.CloseConnection)
Return Reader
Catch Errore As Exception
Connessione.Close()
Throw
End Try
End Function