13 ospiti e 0 utenti registrati online.
UserName
  Password  Registrati Ora! E' Gratuito!
 
 MMKit Forums » » ASP.NET » » Select e raggruppamento
Pagina 1 di 2
[1] - [2] - Next »
(Moderato da: Zubin)  
AutoreTopic: Select e raggruppamento
webdevaster Uomo
Osservatore


Con noi da: 16-11-2008
Posts: 6
Da:

 Inviato il: 16-11-2008 10:11   
Ciao a tutti!

premetto che sono un po' niubbo sulla programmazione, ho questo problema:

ho una pagina aspx con la quale leggo dei record da un db access, io vorrei però che questi record fossero raggruppati nelle categorie di riferimento, faccio un esempio:

CATEGORIA: 1
PRODOTTO 1
PRODOTTO 2
PRODOTTO 3

CATEGORIA: 2
PRODOTTO 4
PRODOTTO 5
PRODOTTO 6

Ecco, non riesco a capire come fare per avere un risultato simile.

Attendo suggerimenti e vi ringrazio!!

Ciao!!!!



Clicca qui per vedere il profilo di webdevaster Invia un messaggio privato a webdevaster Aggiungi webdevaster alla tua buddy list Clicca qui per rispondere 'citando' questo post
Sergionza Uomo
Alchimista


Con noi da: 09-09-2005
Posts: 3173
Da: Genova

 Inviato il: 16-11-2008 15:03   
Ciao,
in linea teorica, perchè non conosco bene la sintassi con le query asp, dovresti fare una query che preleva i dati che raggruppi usando un "GROUP BY categoria" nella query....

Ciao!




-----------------
Il portale ufficiale dell'oratorio "Fra le Case"
le mie foto su Flickr!



Clicca qui per vedere il profilo di Sergionza Invia un messaggio privato a Sergionza Aggiungi Sergionza alla tua buddy list Clicca qui per inviare una mail a Sergionza Homepage: http://www.flickr.com/photos/Sergionza.it Clicca qui per rispondere 'citando' questo post
webdevaster Uomo
Osservatore


Con noi da: 16-11-2008
Posts: 6
Da:

 Inviato il: 17-11-2008 05:18   
ho provato ma mi da errore:

Impossibile eseguire una query che non include l' espressione "nomecategoria" specificata come parte di una funzione di aggregazione....



Clicca qui per vedere il profilo di webdevaster Invia un messaggio privato a webdevaster Aggiungi webdevaster alla tua buddy list Clicca qui per rispondere 'citando' questo post
Sergionza Uomo
Alchimista


Con noi da: 09-09-2005
Posts: 3173
Da: Genova

 Inviato il: 17-11-2008 05:39   
Ciao allora...


Code:


"SELECT * FROM tabella ..... condizioni .... GROUP BY nomecampocheindicalacategorianeltuodatabase"




ovviamente devi adattare la sintassi di asp alla tua query con quello che ho scritto sopra.. tra l'altro è facile che se cerchi nel forum trovi qualcosa di utile...

Ciao!

-----------------
Il portale ufficiale dell'oratorio "Fra le Case"
le mie foto su Flickr!



Clicca qui per vedere il profilo di Sergionza Invia un messaggio privato a Sergionza Aggiungi Sergionza alla tua buddy list Clicca qui per inviare una mail a Sergionza Homepage: http://www.flickr.com/photos/Sergionza.it Clicca qui per rispondere 'citando' questo post
webdevaster Uomo
Osservatore


Con noi da: 16-11-2008
Posts: 6
Da:

 Inviato il: 17-11-2008 07:41   
ho provato ma mi da:

Impossibile raggruppare in base a campi selezionati con "*".

ho provato anche a mettere al posto di "*" i campi che mi servono ma se faccio così mi da l'errore di prima... io la select comunque la faccio includendo sia la tabella prodotti che la tabella categoria.





Clicca qui per vedere il profilo di webdevaster Invia un messaggio privato a webdevaster Aggiungi webdevaster alla tua buddy list Clicca qui per rispondere 'citando' questo post
LudovicoVan Uomo
Apprendista Alchimista


Con noi da: 03-06-2004
Posts: 1896
Da: The World's End

 Inviato il: 17-11-2008 16:35   
Se ho capito cosa ti serve, ti basta una:

Code:

    SELECT ... ... ORDER BY NomeCategoria, NomeProdotto



Le clausole nell'ORDER BY possono essere piu' di una, e vengono considerate in ordine di precedenza. In questo caso hai i record ordinati per nome categoria e, per ciascuna categoria, per nome prodotto.

Se non ho capito, cerca di dare qualche dettaglio in piu'.

-LV


-----------------
(Peace X Love] = [++1)



Clicca qui per vedere il profilo di LudovicoVan Invia un messaggio privato a LudovicoVan Aggiungi LudovicoVan alla tua buddy list Homepage: http://julio.diegidio.name Clicca qui per rispondere 'citando' questo post
webdevaster Uomo
Osservatore


Con noi da: 16-11-2008
Posts: 6
Da:

 Inviato il: 18-11-2008 02:42   
in realtà non mi serve ordinarle e basta.. mi serve raggrupparle per categoria...

... quello che sto cercando di ottenere è di far sì che la mia pagina aspx mi restituisse i vari record tutti raggruppati in base alle categorie, faccio un altro esempio un po' più esplicativo (spero):

Ho il db strutturato così:

tabella cibi
che contiente questi dati:
insalata
pesce
carne
pasta
pane
uova
mele
fragole


tabella tipocibi
che contiene questi dati
proteici
vitaminici
carboidratici

Ora, vorrei che quando carico la pagina i dati escano fuori in questo modo:

PROTEICI
pesce, carne, uova

VITAMINICI
insalata, mele, fragole

CARBOIDRATICI
pasta, pane


Invece ora mi escono così:

PROTEICI
pesce

PROTEICI
carne

PROTEICI
uova

VITAMINICI
insalata

VITAMINICI
mele

VITAMINICI
fragole

CARBOIDRATICI
pasta

CARBOIDRATICI
pane


In pratica ora ogni volta che ho cibo mi ripete il nome della categoria io invece vorrei che il nome della categoria venga fuori una volta sola... Spero di essermi spiegato meglio ...

Grazie ancora!!!
[/b]



Clicca qui per vedere il profilo di webdevaster Invia un messaggio privato a webdevaster Aggiungi webdevaster alla tua buddy list Clicca qui per rispondere 'citando' questo post
LudovicoVan Uomo
Apprendista Alchimista


Con noi da: 03-06-2004
Posts: 1896
Da: The World's End

 Inviato il: 18-11-2008 14:12   
> In pratica ora ogni volta che ho cibo mi ripete il nome della categoria io invece vorrei che il nome della categoria venga fuori una volta sola... Spero di essermi spiegato meglio ...

Si', adesso e' chiaro, ma allora e' "solo" un problema di visualizzazione.

Devi trovare un modo di stampare una categoria solo quando la incontri per la prima volta...

La soluzione dipende fortemente da come stai generando la lista: fai il bind a un repeater, a una grid, oppure cosa? (Mostra la porzione di codice interessata.)

-LV


-----------------
(Peace X Love] = [++1)



Clicca qui per vedere il profilo di LudovicoVan Invia un messaggio privato a LudovicoVan Aggiungi LudovicoVan alla tua buddy list Homepage: http://julio.diegidio.name Clicca qui per rispondere 'citando' questo post
webdevaster Uomo
Osservatore


Con noi da: 16-11-2008
Posts: 6
Da:

 Inviato il: 19-11-2008 04:36   
Ok, ti posto giusto la parte della select e la parte dove poi visualizzo i record in maniera semplice... e ti ringrazio per il supporto! :)


Code:


        Dim objcmd
As New OdbcCommand("select * from cibi, tipocibi  where (cibi.idcibi = tipocibi.idcibi) order by tipocibi.idcibi Asc", objcon)
        
rs = objcmd.ExecuteReader()
               
        Do While
rs.Read()
        ...
        ...

            
boxresult.InnerHtml = _
            boxresult
.InnerHtml & _
            rs
.Item("tipocibi") & "<br />" & _
            rs
.Item("cibi")

        
Loop


[/code]



Clicca qui per vedere il profilo di webdevaster Invia un messaggio privato a webdevaster Aggiungi webdevaster alla tua buddy list Clicca qui per rispondere 'citando' questo post
Sergionza Uomo
Alchimista


Con noi da: 09-09-2005
Posts: 3173
Da: Genova

 Inviato il: 19-11-2008 16:51   
Citazione:

Devi trovare un modo di stampare una categoria solo quando la incontri per la prima volta...


permettetemi e qui si usa di solito il "group by nomecategoria" ....


Ciao!





-----------------
Il portale ufficiale dell'oratorio "Fra le Case"
le mie foto su Flickr!



Clicca qui per vedere il profilo di Sergionza Invia un messaggio privato a Sergionza Aggiungi Sergionza alla tua buddy list Clicca qui per inviare una mail a Sergionza Homepage: http://www.flickr.com/photos/Sergionza.it Clicca qui per rispondere 'citando' questo post
Psycho Uomo
Membro


Con noi da: 18-09-2006
Posts: 130
Da: Intercity Formia - Roma

 Inviato il: 20-11-2008 03:24   
Citazione:

permettetemi e qui si usa di solito il "group by nomecategoria" ....


No, in questo caso non c'entra niente.


Come ti suggeriva LudovicoVan devi fare una roba del genere:


Code:


        Dim objcmd
As New OdbcCommand("select * from cibi, tipocibi  where (cibi.idcibi = tipocibi.idcibi) order by tipocibi.idcibi Asc", objcon)
        
rs = objcmd.ExecuteReader()

        
Dim tipocibo As String = ""             
        
Do While rs.Read()
        ...
        ...

            If (
rs.Item("tipocibi") <> tipocibo) Then
                 tipocibo
= rs.Item("tipocibi")
                 
boxresult.InnerHtml = _
                 boxresult
.InnerHtml & _
                 rs
.Item("tipocibi") & "<br />"      
            
End If

            
boxresult.InnerHtml = _
            boxresult
.InnerHtml & _
            rs
.Item("cibi") & "<br />"

        
Loop





Controlla solo la sintassi VB, ho scritto di getto, in genere uso C# e non ho verificato.
Ad ogni modo il concetto è quello.

Saluti,
Psycho



Clicca qui per vedere il profilo di Psycho Invia un messaggio privato a Psycho Aggiungi Psycho alla tua buddy list Clicca qui per rispondere 'citando' questo post
webdevaster Uomo
Osservatore


Con noi da: 16-11-2008
Posts: 6
Da:

 Inviato il: 20-11-2008 12:59   
grazie mille!

provo!!!

... e vi tengo aggiornati!



Clicca qui per vedere il profilo di webdevaster Invia un messaggio privato a webdevaster Aggiungi webdevaster alla tua buddy list Clicca qui per rispondere 'citando' questo post
LudovicoVan Uomo
Apprendista Alchimista


Con noi da: 03-06-2004
Posts: 1896
Da: The World's End

 Inviato il: 20-11-2008 13:03   
Psycho:

> Ad ogni modo il concetto è quello.

Si', anche se con un codice del genere sembrerebbe ASP classico.

-LV


-----------------
(Peace X Love] = [++1)



Clicca qui per vedere il profilo di LudovicoVan Invia un messaggio privato a LudovicoVan Aggiungi LudovicoVan alla tua buddy list Homepage: http://julio.diegidio.name Clicca qui per rispondere 'citando' questo post
Psycho Uomo
Membro


Con noi da: 18-09-2006
Posts: 130
Da: Intercity Formia - Roma

 Inviato il: 20-11-2008 13:34   
Citazione:
Il 20-11-2008 19:03, LudovicoVan ha scritto:
Psycho:

> Ad ogni modo il concetto è quello.

Si', anche se con un codice del genere sembrerebbe ASP classico.

-LV





Infatti ho scritto "una roba del genere", che è come dire "ho 5 minuti tra 10000 cose che sto facendo e questa potrebbe essere una strada, giusto per darti una soluzione veloce".

Ovviamente è modificabile / migliorabile a piacimento.

Tu come avresti fatto per esempio?

Ciao,
Psycho





Clicca qui per vedere il profilo di Psycho Invia un messaggio privato a Psycho Aggiungi Psycho alla tua buddy list Clicca qui per rispondere 'citando' questo post
LudovicoVan Uomo
Apprendista Alchimista


Con noi da: 03-06-2004
Posts: 1896
Da: The World's End

 Inviato il: 20-11-2008 13:41   
Non mi riferivo alla tua soluzione che va benissimo, mi riferivo al fatto che un codice del genere uno lo scriverebbe in ASP classico: in .Net uno fa il databind a qualche controllo, per esempio un Repeater, e di sicuro non apre e chiude connessioni in-line, ecc.

-LV


-----------------
(Peace X Love] = [++1)



Clicca qui per vedere il profilo di LudovicoVan Invia un messaggio privato a LudovicoVan Aggiungi LudovicoVan alla tua buddy list Homepage: http://julio.diegidio.name Clicca qui per rispondere 'citando' questo post
  
  
Vai a:
Pagina 1 di 2
[1] - [2] - Next »
Visualizza la versione da stampa
Segnala questo thread al moderatore
Aggiungi questo thread alla tua lista preferiti [Visualizza]
Non voglio più ricevere nessuna mail riguardo questo thread


FAQ | Top 10 | Statistiche
MMKit - Macromedia Community Shared Knowledge
Tutti i loghi sono appartenenti ai rispettivi proprietari