Valore preso da Dataset da mostrare in label

venerdì 22 settembre 2006 - 18.32

zseven Profilo | Senior Member

Ragazzi carico un dataset in questo modo

codice:

MyDA = New Data.OleDb.OleDbDataAdapter(MySQL, conn) MyDS = New DataSet() MyDA.Fill(MyDS, "tab_check") DDLMittente.DataSource = MyDS DDLMittente.DataBind()
e mostro il risultato in una droplist. Fin qui tutto ok.
Ho però la necessità di mostrare ina una label un altro valore
Ho provato a afre così, ma nonfunziona

codice:

LblEmailMittente.Text = MyDS.Tables("tab_check").Columns("email_check").ToString

e poi

codice:

<asp:Label ID="LblEmailMittente" runat=server> </asp:Label>

Però mi mostra la scritta email_check, invece di mostrare il valore del record
Che cosa sbaglio?

Grazie

alx_81 Profilo | Guru

Ciao!

>Ho però la necessità di mostrare ina una label un altro valore
>Ho provato a afre così, ma nonfunziona
>
>codice:
>
>LblEmailMittente.Text = MyDS.Tables("tab_check").Columns("email_check").ToString

E' corretto che non funzioni. Il motivo è che la collezione Colums contiene solo l'elenco dei datacolumn del datatable e quindi solo l'insieme delle colonne, dei campi.. con ToString non fai altro che scrivere il nome della colonna indicata.

>Però mi mostra la scritta email_check, invece di mostrare il
>valore del record

appunto

>Che cosa sbaglio?

Devi utilizzare la collection delle Rows, in modo da ricavare il l'item del datarow del quale ti serve il valore.
Eccone un esempio:

'Campo "email_check" della riga di indice "i"
LblEmailMittente.Text = MyDS.Tables("tab_check").Rows(i).item("email_check").ToString()
>
>Grazie

Di nulla!


Alx81 =)

http://blogs.dotnethell.it/suxstellino

zseven Profilo | Senior Member

Grazie mille per la risposta,
però ancora non sono in grado di risolvere...
come faccio a recuperare l'indice di riga?
avevo pensato a qualcosa tipo

for each row in myds...

ma non so proprio come fare....

potresti darmi qualche suggerimento?
Grazie

alx_81 Profilo | Guru

>Grazie mille per la risposta,
>però ancora non sono in grado di risolvere...
>come faccio a recuperare l'indice di riga?

Ma sai quale riga ti serve?

>avevo pensato a qualcosa tipo
>
>for each row in myds...
>
>ma non so proprio come fare....
>
>potresti darmi qualche suggerimento?

Se non sai qual è la riga e per ogni riga devi riempire una label, il discorso cambia un pochino..

>Grazie

Alx81 =)

http://blogs.dotnethell.it/suxstellino

zseven Profilo | Senior Member

beh no non so quale riga è.
In pratica sto realizzando un modulo per inviare email, ed il mittente cambia a seconda dell'accesso al programma.
Quindi la label mi deve mostrare il valore che recupera dal Db.
Ti posto l'intera Sub, perchpè forse non mi sono spiegato bene:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

come vedi dalla query io quel valore lo recupero già, ma non sono come utilizzarlo.
PRobabilmente sarà una stupidaggine, ma ancora non miraccapezzo bene...

Grazie

alx_81 Profilo | Guru

>beh no non so quale riga è.
>In pratica sto realizzando un modulo per inviare email, ed il
>mittente cambia a seconda dell'accesso al programma.

Da quello che mi sembra di intuire dalla query, il resultset tornato è di una sola riga, quella relativa all'ID_Check = al sessionID, giusto?
In caso positivo, lo sai eccome qual è la riga..
siccome ne torna una, l'indice è 0..
e quindi:

LabelEmailMittente.Text = MyDS.Tables("tab_check").Rows(0).Item("email_check").ToString()

E' buona norma controllare prima che il tuo datatable sia diverso da nothing e non vuoto, con una if del tipo:

If Not MyDS.Tables("tab_check") Is Nothing AndAlso MyDS.Tables("tab_check").Rows.Count > 0 Then
LabelEmailMittente......
End If

Spero di aver capito bene.

>
>Grazie
Di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

zseven Profilo | Senior Member

giusto che cretino...
alla fine avrò sempre un solo record come risultato quindi la riga sarà sempre 0.

Grazie mille!!

alx_81 Profilo | Guru

figurati.. ma non offenderti !!

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5