Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Errore su Query

    Mi sapete dire cosa c'e' che non va in questa Query ???

    Mi restituisce questo errore:
    -----------------------------------------------------------
    Eccezione non gestita di tipo "System.IndexOutOfRangeException" in system.data.dll

    Informazioni aggiuntive: Num_Tot

    -----------------------------------------------------------
    se commento quel rigo di codice mi da quest'altro errore:
    -----------------------------------------------------------
    Eccezione non gestita di tipo "System.IndexOutOfRangeException" in system.data.dll

    Informazioni aggiuntive: Result_Sum
    -----------------------------------------------------------

    Perche non mi legge i campi virtuali che ho creato ???

    _EXTEND_ contiene un estenzione della query che implementa con vari parametri da selezionare tramite degli strumenti..........

    codice:
            Dim sSQL_Count As String = "SELECT " & _
                                        "COUNT(Vendite.Quantita) AS Num_Tot, " & _
                                        "SUM(Vendite.Quantita) AS Result_Sum  " & _
                                        "FROM Vendite  " & _
                                        "LEFT JOIN Clienti ON Vendite.ID_Cliente=Clienti.ID_Cliente  " & _
                                        "LEFT JOIN Segmenti ON Clienti.ID_Segmento=Segmenti.ID_Segmento  " & _
                                        "LEFT JOIN Agenti ON Vendite.ID_Agente=Agenti.ID_Agente  " & _
                                        "LEFT JOIN Articoli ON Vendite.ID_Articolo=Articoli.ID_Articolo  " & _
                                        "LEFT JOIN Categorie ON Vendite.ID_Categoria=Categorie.ID_Categoria  " & _
                                        "WHERE ID_Vendite >0 " & _
                                        "" & _EXTEND_ & " " & _
                                        "ORDER BY Vendite.Firma_Contratto DESC "
    
    
            TextBox1.Text = sSQL_Count 'mi serve per vedere la query e poterle copiare nel mySQL-Front per il test...
    
    
    
            oConn.Open()
    
            Dim oComm_1 As New OleDbCommand(sSQL_Count, oConn)
            Dim oRead_1 As OleDbDataReader = oComm_1.ExecuteReader
            oRead_1.Read()
    
            n = oRead_1("Num_Tot").ToString
            QuantitaTot = oRead_1("Result_Sum").ToString
    
            oConn.Close()

  2. #2
    ho suddiviso in 2 comandi separati 1 per SUM e 1 per COUNT poi ho provato a gestire l'eccezione di una delle 2 e mi ha restituito questo:



    System.IndexOutOfRangeException: Num_Tot
    at System.Data.Common.FieldNameLookup.GetOrdinal(Stri ng fieldName)
    at System.Data.OleDb.OleDbDataReader.GetOrdinal(Strin g name)
    at System.Data.OleDb.OleDbDataReader.get_Item(String name)
    at Speedy_Manager_1._0.Query.PopoloReport(Int32 Start)

  3. #3
    linguaggio e versione anche nel titolo
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  4. #4
    Caspita!!!

    eppure non sono nuovo......

    Scusate!!!

    come lo aggiungo ora ?

  5. #5
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Non mi sembra molto un problema di VB.NET
    Probabilmente il problema è nella query, che non restituisce i dati.
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  6. #6

    Re: Errore su Query

    Originariamente inviato da w_t
    Mi sapete dire cosa c'e' che non va in questa Query ???

    oConn.Open()
    Dim oComm_1 As New OleDbCommand(sSQL_Count, oConn)
    Dim oRead_1 As OleDbDataReader = oComm_1.ExecuteReader
    oRead_1.Read()
    n = oRead_1("Num_Tot").ToString
    QuantitaTot = oRead_1("Result_Sum").ToString
    oConn.Close()
    vedi se questo esempio puo' esserti di aiuto. Al posto dello 0 devi indicare il numero (a base 0) relativo alla colonna restituito dalla query. Per la prima colonna 0 per la seconda 1 ecc.
    es.
    codice:
    If oRead_1.HasRows Then
                While oRead_1.Read
                    If Not IsDBNull(oRead_1(0)) Then stringa = oRead_1.GetString(0)
                End While
            End If
    Saluti a tutti
    Riccardo

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.