Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Utilizzo DatasetHelper

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139

    Utilizzo DatasetHelper

    Ho creato ed usato questa classe per poter fare un groupby su un datatable ma non riesco a capire non mi funziona.
    Nel senso che se utilizzo l'esempio di chiamata nell'articolo scritto in MSDN va bene...quindi mi dovrebbe garantire il funzionamente della mia classe.
    A questo punto penso che il problema sia nella mia chiamata.
    Il codice è il seguente:

    Dim ds As New DataSet
    Dim dsHelper As DataSetHelper.DataSetHelper
    Dim dt As DataTable = CType(Session("dt"), DataTable)
    dt.TableName = "Imballo"
    ds.Tables.Add(dt)

    dsHelper = New DataSetHelper.DataSetHelper(ds)
    dsHelper.SelectGroupByInto("ImballoSum", ds.Tables("Imballo"), "cimballo, SUM(quantitabox) quantita", "", "cimballo")

    ma nella nuova datatable mi ritrovo la stessa tabella d'origine con i seguenti dati

    cimballo quantita
    9 10
    9 5
    Effettivamente questo mi serve in quanto se la somma delle quantita di uno stesso codice imballo non è un multiplo di un dato che reperisco nel DB devo effettuare delle operazioni.
    Quindi il mio problema è che la datatbles ImballoSum ha gli stessi dati di Imballo e non i dati aggregati. COme mai?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139
    Proprio ieri sera nei vari tentativi ho provato a rimettere l'esempio dell'articolo MSDN che funziona.
    Ma se vado ad eseguire la somma anzichè sul campo Decimal sul campo Int32 mi da un errore di Cast.

    Andando a vedere il metodo Add della classe DatasetHelper effettua una somma con un cast esplicito Decimal ma se proprio a cambiare il datatype non va mai.

    Come mai?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    per quanto riguarda il primo messaggio devi fare
    dsHelper = dsHelper.SelectGroupByInto("ImballoSum", ds.Tables("Imballo"), "cimballo, SUM(quantitabox) quantita", "", "cimballo")

    per quanto riguarda il 2^ post non ho capito, forse xkè non ho presente cosa è questa classe..

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139
    Sono 3 giorni che sto impazzendo su questo problema

    La classe viene spiegata qui:
    http://support.microsoft.com/default...b;en-us;326145
    e alla fine ci sono i 3 eventi per testarla.
    COme vedi nel btnSelectGroupByInto.Click ho:
    dsHelper.SelectGroupByInto("OrderSummary2", ds.Tables["Orders"],
    "EmployeeID,count(EmployeeID) Orders,sum(Amount) OrderTotal,max(Amount) BestOrder,min(Amount) WorstOrder",
    "OrderID>10", "EmployeeID");
    dataGrid1.SetDataBinding(ds, "OrderSummary2");

    Ma se vado a fare la somma sul campo Int32 mi da un errore di cast.
    Nel mio caso il datatable arriva corretto.
    Lo aggiungo al dataset.
    Tramite la classe dsHelper mi popolo un altro datatable all'interno del dataset ma purtroppo non mi fa la somma.
    Non è che per caso hai msn per poter verificare meglio? Sono incasinatissimo e se mi potessi aiutare....ti ringrazierei tantissimo.

    Saluti
    Gianluca

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ti aiuto piu che volentieri, soltanto che mi devi far capire un po' com'è la struttura del tuo db, cosa vuoi fare, qual è l'errore preciso.
    insomma: di mio non sono un mago, se dai informazioni così vaghe non posso fare molto.

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.