C# ciclo for annidati

lunedì 15 maggio 2006 - 16.07

bluelions Profilo | Senior Member

Salve, mi chiedevo come fare per leggere dati da una tabella.....
in pratica dovrei leggere tutte le righe e ad ogni riga dovrei leggere un campo......avevo pensato di fare un for annidato...ma come posso farlo?

alx_81 Profilo | Guru

Tabella di che tipo?
Da un database? e se sì quale?
Oppure è un DataTable?
Dove devi mettere poi i dati?
Perchè è molto probabile che non serva alcun ciclo..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluelions Profilo | Senior Member

Leggo da un datatable...
Ho un dataset tipizzato,eseguo una storedprocedure,riempio un datatable.....e poi devo prendermi il valore tipo stringa dalla colonna
però mi servirebbe capire come posso fare.

alx_81 Profilo | Guru

ammesso che tu abbia il tuo Dataset popolato (ds)..

foreach (DataTable dt in ds.Tables)
{
foreach (DataRow dr in dt.Rows)
{
//Do something
}
}

così scorri tutte le righe di ogni datatable contenuto nel DataSet..
molto spartano.. =)
Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluelions Profilo | Senior Member

Non ho un dataset, ma bensì un adapter, datatable ed infine una row.
Ho provato con l'esempio , ma non va xchè non ho un dataset

alx_81 Profilo | Guru

usa solo il ciclo interno..
il tuo adapter avrà riempito un datatable.. quindi basta che cicli le righe del datatable..
per ogni riga poi avrai la possibilità di accedere al campo in questo modo:

dr["nomecampo"].ToString()

Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluelions Profilo | Senior Member

si ok, ma la cosa che mi serve è a quanto pare complessa, xchè
ho delle righe dove devo prendere solo alcuni campi...ad esempio
la mia tabella è:
id nome
1 A
1 B
1 C
2 E
2 F
2 G
ora io devo prendere una sola volta il numero 1 e le stringhe corrispondenti A-B-C
e cosi via
che poi avrò una lista del genere

1 A
B
C
2 E
F
G
Sembra facile....mannaggia non ci riesco proprio

alx_81 Profilo | Guru

Secondo me dovresti fare in modo che sia la stored procedure che ti torni già il resultset corretto.. senza gestire tutto da codice.. la vedo più un'implementazione sul Data Layer..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluelions Profilo | Senior Member

ti vedo abbastanza esperto...come potrei fare?

alx_81 Profilo | Guru

E' un po' lunga da spiegare.. hai più vie..
join, richiamo di due stored procedure invece di una, devi scegliere tu..

Altrimenti rimani sull'applicazione e in base agli eventi del controllo che verrà popolato, gestisci la rottura della prima colonna..

Cmq posta la tua struttura tabellare... quella sul db..
poi se ne può parlare..


Alx81 =)

http://blogs.dotnethell.it/suxstellino

freeteo Profilo | Guru

ciao a tutti,
scusate se mi intrometto ma questo post mi sembra simile a questo:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=7857

se devi farlo in asp.net, guarda il codice che ti ho postato li, ti potrebbe tornare utile...

ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
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