Salve a tutti,
ho un datareader che seleziona dei dati da un database access e il suo codice è il seguente:
codice:
Dim connessione As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Gui\Documenti\Visual Studio 2005\WebSites\WebSite8\database.mdb; Persist Security Info=False")
connessione.Open()
Dim Seleziona As String
Seleziona = "SELECT * FROM Utenti"
Dim controlla As New OleDbCommand(Seleziona, connessione)
'controlla.ExecuteReader()
Dim Datareader As OleDbDataReader
Datareader = controlla.ExecuteReader
Datareader.Read()
Ora inanzi tutto vorrei sapere se c'è un modo per sapere quanti risultati mi ha restituito, a parte leggerne tutti i risultati con un ciclo while ed incrementarne un contatore.
Dopo aver creato questo datareader vorrei mettere i dati ottenuti in una Gridview, ho trovato sul forum un codice che ho adattato nel seguente modo:
codice:
Dim dt As New DataTable
Dim myColumn As New DataColumn()
myColumn.DataType = System.Type.GetType("System.Int32")
myColumn.ColumnName = "Indice"
dt.Columns.Add(myColumn)
' link
myColumn = New DataColumn()
myColumn.DataType = Type.GetType("System.Integer")
myColumn.ColumnName = "Nominativo"
dt.Columns.Add(myColumn)
While Datareader.Read
dt.NewRow("Indice") = Datareader.Item(0)
dt.NewRow("Nominativo") = Datareader.Item(1)
End While
GridView1.DataSource = dt
Il codice però mi da errore nella creazione delle nuove righe, indicandomi errore nella seguente riga:
codice:
dt.NewRow("Indice") = Datareader.Item(0)
Cosa c'è di sbagliato? secondo logica sto solo creando una nuova riga della datatable e nulla più, ma sicuramente mi è sfuggito qualcosa.
Vi ringrazio in anticipo per le risposte,
Neptune.