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

    Popolare tabella con dati mysql

    Salve a tutti, ecco il mio problema:

    Ho due classi: La classe movimenti, utilizzata per reperire i dati da una tabella my sql attraverso il metodo visualizza:

    public void Visualizza(){
    String Query="select * from movimenti";

    try{
    st= con.createStatement();
    rs = st.executeQuery(Query);
    while(rs.next()){
    Anno=rs.getInt(1);
    Peso=rs.getDouble(3);
    mc=rs.getDouble(4);
    NumFormulario=rs.getString(5);
    CodRifiuto=rs.getString(7);
    Prezzo=rs.getDouble(8);
    Imponibile=rs.getDouble(9);
    Imposta=rs.getDouble(10);
    ImportoTotale=rs.getDouble(11);
    CodCli=rs.getString(12);
    NumFattura=rs.getInt(13);
    Aliquota=rs.getInt(14);
    IndCantiere=rs.getString(15);
    ComCantiere=rs.getString(16);
    Cod=rs.getInt(17);
    DataFormulario=rs.getDate(18);
    Stampato=rs.getString(19);

    }
    }catch (Exception e){

    }

    E la classe tabella, utlizzata per visualizzare i dati della classe movimenti attraverso una Jtable:

    public void UpdateTabella(){
    model = (DefaultTableModel)TabellaFormulari.getModel();
    MovRifiuti Nuovo= new MovRifiuti();
    Nuovo.Visualizza();

    DataFormulario=this.DataEuropea(Nuovo.getDataFormu lario());
    Importo= this.DecimaleEuropeoString(Nuovo.getImportoTotale( ));

    String d1=String.valueOf(Nuovo.getNumFormulario());
    String d2=DataFormulario;
    String d3=Importo;
    String d4=String.valueOf(Nuovo.getCodCli());
    String d5=String.valueOf(Nuovo.getNumFattura());


    model.addRow(new Object []{d1,d2,d3,d4});


    }

    Il problema è che sulla tabella viene visualizzata solo la prima riga della tabella.

    Per risolvere mi converrebbe creare una array. Consigli!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    A questo punto puoi creare un array nel metodo che popola la JTable e chiamare visualizza().
    codice:
    Fattura[] dati = visualizza();
    
    // Qui scorri l'array e riempi la tabella
    for(Fattura fattura : dati) {
      // setti il valore nella tabella; il dato lo ottieni facendo fattura.getAnno(); o fattura.getPrezzo(); etc
    }
    Al termine di questo hai la tabella piena


    Nell'altro metodo, quello che legge dal DB:
    codice:
    String query = "select * FROM movimenti";
    ArrayList<Fattura> elenco = new ArrayList<Fattura>();
    
    try {
      stm = con.createStatement();
      rs = stm.executeQuery(query);
      while(rs.next()) {
        String col1 = ....  // Bada bene che puoi specificare il nome della colonna del DB
        String col2 = ....
        // .........
        String colN = .....
    
        Fattura f = new Fattura(col1, col2,..., colN);
        elenco.add(f);
      }
    } catch(Exception e) {}
    return elenco;  // prima di restituire, ricordati di convertirlo in un array di Fattura.
                         // in alternativa, nell'altro metodo usi ArrayList<Fattura> elenco = ...
    Ricordati di chiudere stm.

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.