Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    metodo che restituisce al main un result set

    ciao a tutti...

    mi trovo di fronte ad un problema logico, arrivando dal web ma sopratutto riprendendo java dopo anni in php

    io ho un metodo che mi estrae i dati da un db.
    questi dati vorrei che venissero stampati a video cosi da lasciare all'utente la selezione e la futura modifica del record.

    il metodo è il seguente
    codice:
    public void datiMagazzino (){
    		ProdottiDTO setProdotto = new ProdottiDTO();//oggetto della classe prodotti contenente i get() e set()
    		connetto();//metodo di connessione al db
    		try{
    			sql = "SELECT * FROM prodotti";
    			Statement stmt = db.createStatement();
    			ResultSet rs = stmt.executeQuery(sql);//eseguo la query
    			while (rs.next()){//ciclo i dati recuperati dal result set
    //carico tutti i dati presi all'interno delle variabili dell'oggetto istanziato
    				setProdotto.setCodiceProdotto(rs.getString("codiceprodotto"));
    				setProdotto.setNomeProdotto(rs.getString("nomeprodotto"));
    				setProdotto.setDescrizione(rs.getString("descrizione"));
    			}
    		}catch (Exception e){
    			System.out.println(e.getMessage());
    		}	
    	}
    qui sotto il main ... molto rudimentale
    codice:
    public static void main(String[] args) {
    
    		//istanzio oggetti
                  prodotti prodotto = new prodotti();
    		
    		//Rudimentale scelta
    		System.out.println("scegliere operazione\r\n1-modifica\r\n2-inserisci");
    		String scelta = InputTastiera.leggoString();
    		System.out.println("Scelta effettuata "+scelta );
    		if (scelta.equals("2")){
    			prodotto.richiestaInserimentoProdotto();
    		}else if (scelta.equals("1")){
    			prodotto.datiMagazzino();
    		}
    		
    	}
    non consideriamo il void del metodo che devo cambiarlo.

    il metodo scorre il mio db, i dato ora vengono caricati in una classe contenente i metodi GET() e SET().

    io pensavo di caricare tutti i dati all'interno di un array (o meglio un Vector).
    inanzi tutto vi chiederei se corretto questo tipo di array (il vector intendo)
    e poi chiederei se è corretto fare :

    1-istanziare un oggetto all'interno di un metodo come ho fatto all'inizio
    2-caricare tutti i dati all'interno di un 'array'
    3-è possibile avere un array con indice il campo del database e come secondo indice il suo valore?

    Grazie mille... vi sembreranno sciocche come domande.... ma quello che difficilmente si apprende è la logica, abbinata a confusione possono creare dei mostri

  2. #2
    Visto che la query ti può ritornare + di un record io il ProdottiDTO lo istanzierei all'interno del while farei come hai fatto i set e poi lo aggiungerei a un ArrayList<ProdottiDTO> tipizzato.
    Così avrò una lista di ProdottiDTO che non è altro che il risultato della query.
    Per capirci

    codice:
    public ArrayList<ProdottiDTO > datiMagazzino (){
             connetto();//metodo di connessione al db
             List<ProdottiDTO> lista = new ArrayList<ProdottiDTO>();
             try{
    	sql = "SELECT * FROM prodotti";
    	Statement stmt = db.createStatement();
    	ResultSet rs = stmt.executeQuery(sql);//eseguo la query
    	while (rs.next()){
                //ciclo i dati recuperati dal result set
                //carico tutti i dati presi all'interno delle variabili dell'oggetto istanziato
                    ProdottiDTO setProdotto = new ProdottiDTO();
                   //oggetto della classe prodotti contenente i get() e set()
    				
                   setProdotto.setCodiceProdotto(rs.getString("codiceprodotto"));
    	  setProdotto.setNomeProdotto(rs.getString("nomeprodotto"));
                   setProdotto.setDescrizione(rs.getString("descrizione"));
                   lista.add(setProdotto);
    	}
              }catch (Exception e){
    	System.out.println(e.getMessage());
              }	
    return lista;
    }

  3. #3
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ok... grazie mille del consiglio ...
    detta così sembra anche meno costoso in termini di codice e memoria

    ora provo immediatamente.

    praticamente e come se io nel mio arraylist inserissi tutto il record passandogli l'intero oggetto ProdottoDTO!
    arrayList<oggetto di get e set>

  4. #4

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.