Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206

    VB - Query con Count - visualizzare Come?

    Salve a tutti.
    Scusate la mia ignoranza però non riesco proprio a capire come fare.
    Se eseguo questa query

    SELECT COUNT(numerocartella) as totale, anno, datacartellazione, numerorichiesta, dataracco2 FROM cartellazione where tipospedizione = 'R' GROUP BY numerorichiesta, anno, datacartellazione, dataracco2, totale"
    Il risultato in access è quello di avere per ogni raggruppamento anche il totale dei record che lo compongo.

    E' possibile fare la stessa cosa in una pagina ASP.NET?
    E' possibile farlo con datagrid?

    Ho fatto un pò di ricerca e tutto quello che ho trovato e letto l'ho messo in queste righe il risultato è si il numero delle righe però di tutto il dataset e non di ogni singolo raggruppamento.

    Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:/notifica/mdb-database/dispacci.mdb")
    Dim myCommand As New OleDbDataAdapter("SELECT anno, datacartellazione, numerorichiesta, dataracco2 FROM cartellazione where tipospedizione = 'R' GROUP BY numerorichiesta, anno, datacartellazione, dataracco2", myConnection)
    ds = New DataSet()
    myCommand.Fill(ds, "cartellazione")
    Dim totale As String = String.Empty
    totale = String.Format("{0}", ds.Tables(0).Rows.Count)
    lbltotale.Text = totale


    Quello che voglio fare è avere per ogni riga visualizzata anche il totale dei record che la compongono.

    Grazie di tutto
    Cordialità Donaz

  2. #2
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206
    Buongiorno a tutti

    Scusate se insisto. Forse non sono stato chiaro. E' possibile fare una query con la funzione count di un campo e visualizzarne il risultato in un datagrid?

    Se si come.

    Ho provato a far banalmente la query con la funzione count assegnando il valore ad un alias però quando provo a richiamarlo nel datagrid con la funzione

    <asp:BoundColumn DataField="totale" HeaderText="Numero Richiesta" readonly="True" />
    però mi restituisce questo tipo di errore :

    Nessun valore specificatoper alcuni paramtri necessari.

    Non è il modo corretto di procedere?

    Grazie
    Cordialità Donaz

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da donaz
    Buongiorno a tutti

    Scusate se insisto. Forse non sono stato chiaro. E' possibile fare una query con la funzione count di un campo e visualizzarne il risultato in un datagrid?

    Se si come.

    Ho provato a far banalmente la query con la funzione count assegnando il valore ad un alias però quando provo a richiamarlo nel datagrid con la funzione

    <asp:BoundColumn DataField="totale" HeaderText="Numero Richiesta" readonly="True" />
    però mi restituisce questo tipo di errore :

    Nessun valore specificatoper alcuni paramtri necessari.

    Non è il modo corretto di procedere?

    Grazie
    Credo che l'errore sia altrove...controlla innanzitutto che la query funzioni.
    Poi controlla che le arrivino i giusti parametri...ed il giusto numero.
    (controlla anche la posizione di questi)

  4. #4
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206
    Grazie della risposta.

    Ho verificato che la query funzioni. Infatti fatta girare nel db access restituisce i valori che ci si aspetta.
    La query è questa:

    Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:/notifica/mdb-database/dispacci.mdb")
    Dim myCommand As New OleDbDataAdapter("SELECT Count(numerocartella) as totale, anno, datacartellazione, numerorichiesta, dataracco2, totale FROM cartellazione where tipospedizione = 'R' GROUP BY numerorichiesta, anno, datacartellazione, dataracco2, totale", myConnection)

    ds = New DataSet()
    myCommand.Fill(ds, "cartellazione")

    Session("datagrid") = ds
    Else
    ds = Session("datagrid")
    End If

    dv = New DataView(ds.Tables("cartellazione"))
    dv.Sort = "numerorichiesta"
    DataGrid1.DataSource = dv

    Totale è l'alias nel quale vengono conteggiati i record di ogni singolo raggruppamento.
    Richiamo il valore di Totale nel datagrid in questo modo.

    <asp:literal id="lbltotale" runat="server"></asp:literal>
    <asp:datagrid id="DataGrid1" runat="server"
    HeaderStyle-BackColor="#ccffff"
    BorderColor="Black" CellPadding="4"
    Width="361px"
    Font-Names="Verdana"
    Font-Size="8pt"
    AutoGenerateColumns="false">

    <Columns>
    <asp:BoundColumn DataField="datacartellazione" HeaderText="Data Cartellazione" readonly="True" />
    <asp:BoundColumn DataField="dataracco2" HeaderText="Data Raccomandata" readonly="True" />
    <asp:BoundColumn DataField="anno" HeaderText="Anno Cartellazione" readonly="True" />
    <asp:BoundColumn DataField="numerorichiesta" HeaderText="Numero Richiesta" readonly="True" />
    <asp:BoundColumn DataField="totale" HeaderText="Totale cartelle" readonly="True" />
    <asp:HyperlinkColumn headerText="Verifica" text="Verifica Cartellazione" DataNavigateUrlField="numerorichiesta" DataNavigateURLFormatString="verificacartellazione .aspx?numerorichiesta={0}" >
    <ItemStyle HorizontalAlign="Left" />
    </asp:HyperlinkColumn>
    </Columns>
    <HeaderStyle BackColor="#CCFFFF" />
    </asp:datagrid>


    Ho sempre però lo stesso errore

    Dettagli eccezione: System.Data.OleDb.OleDbException: Nessun valore specificato per alcuni parametri necessari.


    Riga 21:
    Riga 22: ds = New DataSet()
    Riga 23: myCommand.Fill(ds, "cartellazione")
    Riga 24:
    Riga 25: Session("datagrid") = ds
    Cordialità Donaz

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.