Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1

    Estrazione dati di una tabella in mysql

    Salve, vorrei sapere come estrarre tutti i dati presenti in una tabella su grafica con un semplicemente comando senza aggiungere delle Jtextfield.

    Cioè vorrei che mi costruisce in automatico una tabella contente tutti i dati della tabella.

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ti serve JTable, nel cui model caricherai i dati ottenuti dalla tua SELECT.
    Non è una cosa automatica ovviamente.
    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
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Ti serve JTable, nel cui model caricherai i dati ottenuti dalla tua SELECT.
    Non è una cosa automatica ovviamente.
    Si ma con

    codice:
    stmt.executeQuery(sql);
    come lo converto in una lista di nomi da passare alla tabella?

    deve essere del tipo

    codice:
    String[] nomi={"nome1","nome2",......}

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Si ma con

    codice:
    stmt.executeQuery(sql);
    come lo converto in una lista di nomi da passare alla tabella?
    Innanzitutto executeQuery ti fornisce un ResultSet che rappresenta un insieme di righe come risultato della query eseguita. Il ResultSet lo si scorre per prendere tutte le righe, tipicamente in avanti con un ciclo while che sfrutta il next() del ResultSet.
    Per ogni record devi prendere i dati delle colonne risultanti dalla select. Qui devi decidere tu se fare una estrazione specifica oppure generica. Cioè se ti aspetti e sai quante colonne ci sono, quali nomi hanno, che tipo hanno, ecc... oppure se vuoi fare qualcosa di generico che andrebbe bene per più select, andando a prendere i "meta" dati del ResultSet, cioè le informazioni sui dati delle colonne.

    Ora passiamo a JTable. Esso si basa su un "table model" che è la entità (oggetto) che contiene ed "espone" i dati verso la tabella (o chiunque altro che ne abbia bisogno). Questo è un argomento abbastanza complesso. Un table model è rappresentato dalla interfaccia TableModel. Esiste una implementazione predefinita che è DefaultTableModel, che ha una struttura molto generica fatta da un Vector di Vector di Object. Ma di table model se ne possono implementare anche di "custom", personalizzati, tipicamente estendendo AbstractTableModel.

    Il punto è la scelta del table model che dipende da che cosa hai "in mano" per rappresentare le righe. Se hai fatto una estrazione specifica su una tabella PERSONA, potresti creare oggetti di classe Persona con le varie proprietà popolate con i valori delle colonne. Se alla fine dello scorrimento sul ResultSet hai es. un List<Persona> o un Persona[], questi non li puoi usare con es. DefaultTableModel, perché DefaultTableModel ha una struttura meno tipizzata e più generica. Dovresti implementare un tuo table model apposito.

    Se invece gestisci per le righe es. un Object[] o un Vector<Object>, insomma più vicini al concetto di DefaultTableModel, allora questo puoi usarlo.

    Comunque, se non hai mai usato JTable/table model il consiglio è di non partire in quarta .... e invece di documentarti bene ad esempio con il tutorial ufficiale: How to Use Tables.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Innanzitutto executeQuery ti fornisce un ResultSet che rappresenta un insieme di righe come risultato della query eseguita. Il ResultSet lo si scorre per prendere tutte le righe, tipicamente in avanti con un ciclo while che sfrutta il next() del ResultSet.
    Per ogni record devi prendere i dati delle colonne risultanti dalla select. Qui devi decidere tu se fare una estrazione specifica oppure generica. Cioè se ti aspetti e sai quante colonne ci sono, quali nomi hanno, che tipo hanno, ecc... oppure se vuoi fare qualcosa di generico che andrebbe bene per più select, andando a prendere i "meta" dati del ResultSet, cioè le informazioni sui dati delle colonne.

    Ora passiamo a JTable. Esso si basa su un "table model" che è la entità (oggetto) che contiene ed "espone" i dati verso la tabella (o chiunque altro che ne abbia bisogno). Questo è un argomento abbastanza complesso. Un table model è rappresentato dalla interfaccia TableModel. Esiste una implementazione predefinita che è DefaultTableModel, che ha una struttura molto generica fatta da un Vector di Vector di Object. Ma di table model se ne possono implementare anche di "custom", personalizzati, tipicamente estendendo AbstractTableModel.

    Il punto è la scelta del table model che dipende da che cosa hai "in mano" per rappresentare le righe. Se hai fatto una estrazione specifica su una tabella PERSONA, potresti creare oggetti di classe Persona con le varie proprietà popolate con i valori delle colonne. Se alla fine dello scorrimento sul ResultSet hai es. un List<Persona> o un Persona[], questi non li puoi usare con es. DefaultTableModel, perché DefaultTableModel ha una struttura meno tipizzata e più generica. Dovresti implementare un tuo table model apposito.

    Se invece gestisci per le righe es. un Object[] o un Vector<Object>, insomma più vicini al concetto di DefaultTableModel, allora questo puoi usarlo.

    Comunque, se non hai mai usato JTable/table model il consiglio è di non partire in quarta .... e invece di documentarti bene ad esempio con il tutorial ufficiale: How to Use Tables.

    Salve, sono riuscito a scorrere la lista della seguente query ("SELECT*FROM NOMETABELLA");

    il problema e che usando
    codice:
    JTable table = new JTable(data, columnNames);
    ;

    la colonna sono riuscito a passarla mentre la data non riesco a passarla

    codice:
    while(rs.next()){
    
    String Nome2 = rs.getString("");
    Come posso passare ogni elemento astratto dalla query a Object[][]?

  6. #6
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Salve, sono riuscito a scorrere la lista della seguente query ("SELECT*FROM NOMETABELLA");

    il problema e che usando
    codice:
    JTable table = new JTable(data, columnNames);
    ;

    la colonna sono riuscito a passarla mentre la data non riesco a passarla

    codice:
    while(rs.next()){
    
    String Nome2 = rs.getString("");
    Come posso passare ogni elemento astratto dalla query a Object[][]?
    Allora io voglio sapere come si crea una tabella e visualizzarla su una finestra

    codice:
    JTable table = new JTable(data, nomecolonna);
    
    
       
    JScrollPane scrollPane = new JScrollPane(table);
    table.setFillsViewportHeight(true);
    
    DefaultTableModel model = new DefaultTableModel(data, nomecolonna);
    ;

    Ho capito come si crea JTable ma non capisco come si aggiunge e visualizzare su finestra.

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.