DataSet e DataBind

mercoledì 24 dicembre 2008 - 16.04

86Marco Profilo | Expert

Salve, ho una pagina nella quale devo inserire, in posizioni diverse, dei dati che estraggo da una dataset.

In particolare tramite questo codice:

Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(".\App_Data\data.mdb"))
Dim cmd As New System.Data.OleDb.OleDbDataAdapter("Select ID, Cognome, Nome, Indirzzo, CodFisc FROM Clienti", conn)
Dim ds As New System.Data.DataSet
cmd.Fill(ds)


Ora vorrei, tramite la sintassi <%#Container............> estrarmi i dati in qualsiasi punto della mia pagina aspx.
Come posso fare???
Vi prego aiutatemi è importante!!!!!!!

rossimarko Profilo | Guru

>
>Ora vorrei, tramite la sintassi <%#Container............>
>estrarmi i dati in qualsiasi punto della mia pagina aspx.
>Come posso fare???
>Vi prego aiutatemi è importante!!!!!!!
>

Ciao,

una volta che hai i dati nel tuo dataset puoi inserire dei controlli all'interno della pagina e fare il popolamento dei controlli da codice.

Se ad esempio inserisci un literal nella pagina aspx:
<table> <tr> <td> Nome Utente </td> <td> <asp:Literal id="lblNomeUtente" runat="server" /> </td> </tr> </table>

potrai popolarlo da codice, dopo aver caricato i dati dal tuo dataset:

dim dr as DataRow = ds.Tables(0).Rows(0) lblNomeUtente.Text = dr("NomeUtente").ToString()
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

86Marco Profilo | Expert

CIao Marco, il problema è proprio questo, non riesco a beccare il codice per poter creare dataset e tutto il resto di codice... saresti cosi gentile da postarmi il codice per poter utilizzare il tutto? sei sempre molto gentile, grazie

rossimarko Profilo | Guru

>CIao Marco, il problema è proprio questo, non riesco a beccare
>il codice per poter creare dataset e tutto il resto di codice...
>saresti cosi gentile da postarmi il codice per poter utilizzare
>il tutto? sei sempre molto gentile, grazie

Cos'è che ti manca? Dopo aver richiamato il metodo fill il tuo dataset dovrebbe essere popolato correttamente e puoi già utilizzarlo
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

86Marco Profilo | Expert

Ciao, mi sono un po messo a fare delle prove il codice seguente secondo te è corretto?

Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(".\App_Data\data.mdb"))

Dim cmd As New System.Data.OleDb.OleDbDataAdapter("Select ID, Cognome, Nome FROM Clienti where ID=" & TextBox1.Text, conn)
Dim ds As New System.Data.DataSet
cmd.Fill(ds)

Dim dr As System.Data.DataRow = ds.Tables(0).Rows(0)
label1.text = dr("Cognome").ToString()

Mi dici se è corretta l'im0plementazione in questo modo e se soprattutto manca qualcosa?
In più cosa significano gli indici 0 all'interno di Tables e Rows nella penultima riga di codice.

Grazie tante

rossimarko Profilo | Guru

>Mi dici se è corretta l'im0plementazione in questo modo e se
>soprattutto manca qualcosa?
>In più cosa significano gli indici 0 all'interno di Tables e
>Rows nella penultima riga di codice.
>
>Grazie tante
>

Così a prima vista mi sembra di si. Gli indici indicano il primo elemento della collection.
Il dataset è contenitore di DataTable e nell'esempio viene presa la prima (di solito una datatable contiene il risultato di una select).
A sua volta la datatable è un contenitore di righe (datarows) e nell'esempio viene presa la prima riga.

Se la tua query ritorna una sola select allora puoi passare al metodo fill direttamente una datatable invece che un dataset.

Dim dt As New System.Data.DataTable
cmd.Fill(dt)

Dim dr As System.Data.DataRow = dt.Rows(0)
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5