26 messaggi dal 09 luglio 2007
Sono profondamente in crisi....
aiutooooooooooooooooooooo
allora ho questo problema....ho una tabella in sql server, così composta:

Id | Codice | IdPadre | bloccato |etc |etc |


il mio problema è questo...io uso c# e .net, devo effettuare una ricerca che mi preda dal padre tutti i figli , se uno dei figli ha bloccato=1 non scendo sotto quel figlio; oltre a questo devo selezionarmi i livelli...ossia padre=1 primo figlio = 2 secondi figli=3....
L'id del padre viene preso da un login che faccio in precedenza..mettiamo che prendo id padre =1
allora se io faccio la select da db (molto semplificata):
Select * from Clienti where id=1
così prendo il padre.
E poi per tutti i figli:
Selec * from Clienti where IdPadre=1
e così prendo tutti i figli...
ma come faccio a fare che siano concatenate...dopo di qui come scendo in che struttura posso metterlo aiutooooooooooooooooooooooo

ManuMinù wrote:
ma come faccio a fare che siano concatenate...

cosa vuol dire concatenate? che vuoi unire i risultati di una query a quelli dell'altra?

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
26 messaggi dal 09 luglio 2007
faccio un esempio pratico....
fai conto che la mia tabella clienti è una tabella di 2000 dati...

Id | Codice | IdPadre | bloccato |etc |etc |
1 | 2727 | 0 | 0 |etc |etc | questo è il mio utente padre è lui che fai il login

adesso i figli
2 | 2722 | 1 | 0 |etc |etc |
3 | 2723 | 1 | 0 |etc |etc |
4 | 2724 | 1 | 0 |etc |etc |
5 | 2725 | 1 | 0 |etc |etc |

poi i figli del primo dei figli

11 | 2722 | 2 | 0 |etc |etc |
12 | 2723 | 2 | 0 |etc |etc |
13 | 2724 | 2 | 0 |etc |etc |
14 | 2725 | 2 | 0 |etc |etc |

adesso pensa che tra i dati ci siano altri 2000 dati...
io devo fare una procedura che parta dal primo id=1 selezioni quello...e me lo visualizzi e che continui a fare query cercando tutti i suoi figli....
e visualizzi tutto scendendo se trova un figlio con bloccato = 1 non deve più scendere....e poi devo mettere tutto inun file excel...
e la visualizzazione deve essere questa

1 | 2727 | 0 | 0 |etc |etc | padre liv=1

2 | 2722 | 1 | 0 |etc |etc | liv=2
11 | 2722 | 2 | 0 |etc |etc | liv=3
12 | 2723 | 2 | 0 |etc |etc | liv=3
13 | 2724 | 2 | 0 |etc |etc | liv=3
14 | 2725 | 2 | 0 |etc |etc | liv=3

3 | 2723 | 1 | 0 |etc |etc | liv=2
4 | 2724 | 1 | 0 |etc |etc | liv=2
5 | 2725 | 1 | 0 |etc |etc | liv=2
ManuMinù wrote:
e la visualizzazione deve essere questa

a te serve poter annidare controlli, cosa perfettamente possibile: http://www.aspitalia.com/script/740/Utilizzare-Controlli-ASP.NET-Iterativi-Annidati.aspx
l'alternativa è utilizzare una stored procedure che popoli i dati in maniera ricorsiva, fin tanto che ce ne sono. in entrambi i casi, ti serve scrivere un po' di codice a corredo, perchè è una tua esigenza particolare e niente di standard, insomma.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.