Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con ResultSet

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115

    Problema con ResultSet

    ragazzi ho un problema che non riesco a risolvere...vi spiego:

    Ho un oggetto resultSet dove all'interno c'e il sirultato di una query. questo oggetto e composto da 2 colonne e 11 righe. io mi dovrei scorrere le righe attraverso il metodo next() e prendere il valore solo di alcune righe e cio si puo fare con un if...il problema e che mi prende solo il primo valore che gli passo...

    cioe mi prende solo il valore in corrispondenza della prima riga...come posso fare??? vi incollo qui il codice:

    codice:
    public double sommaTabellaBB1(LinkedList<String> fasi,String classeCategoria){
    		double somma=0;
    		ResultSet rs=null;
    		try{
    			I1stm = conn.prepareStatement(I2);
    			I1stm.setString(1, classeCategoria);
    			rs = I1stm.executeQuery();
    			ListIterator<String> it=fasi.listIterator();
    			while(it.hasNext()){
    				String fase = it.next();
    				while(rs.next()){
    					String lettera=rs.getString(1);
    					if(fase.equals(lettera)){
    						 somma+=rs.getDouble(2);
    						 
    					}
    				}
    			}
    		}
    		catch(SQLException e){
    			e.printStackTrace();
    		}
    		return somma;
    	}
    il problema e che questo "while(rs.next())" non scorre le righe..ma prende solo la prima righa poi niente piu...invece le dovrebbe scorrere tutte

    aiutatemi grazie ragazzi

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Problema con ResultSet

    Originariamente inviato da cobraa
    il problema e che questo "while(rs.next())" non scorre le righe..ma prende solo la prima righa poi niente piu...invece le dovrebbe scorrere tutte
    next sposta il cursore da una riga alla successiva... Per ottenere i valori nelle varie colonne devi fare getTIPO(nome_colonna)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Giusto per darti qualche sicuro, affidabile, esaustivo, ... eccetera eccetera.. consiglio su come gestire il rset, dai una occhiata qui: Retrieving Values...

    Però.. francamente non riesco a capire bene quale sia il problema... tiene conto che un rset può essere "navigato" con il metodo next dall'inizio alla fine solo una volta. Immagina la tua tabella di risultati. All'inizio rset punto alla riga -1 dei risultati. Poi chiami next() e il puntatore si posiziona sulla prima riga, cioè 0. Se alla prima iterazione su "it" il rset arriva fino in fondo, alla successiva iterazione su "it" il rset è già scarico, cioè il puntatore si troverà a puntare oltre l'ultima riga dei risultati e il metodo next() restituirà false. Penso sia per questo motivo che riscontri questa anomalia.

    Puoi copiare il contenuto del rset in un vettore oppure vedere se è possibile far ripartire dall'inizio il puntatore... il controllo delle api lo lascio a te... facci sapere! Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    115

    risolto

    ho trovato l'errore.... giustamente il resultSet e scarico....e quindi non rinizia da capo...metto metto alla posizione giusta ricarica la query e tutto funge...

    Grazie mille...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.