Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49

    JComboBox e database sql

    Ciao a tutti!

    Vorrei caricare in una JComboBox i dati di una colonna presente in una tabella del mio database sql!!

    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    Re: JComboBox e database sql

    Originariamente inviato da nala84
    Ciao a tutti!

    Vorrei caricare in una JComboBox i dati di una colonna presente in una tabella del mio database sql!!

    Come posso fare?
    crei il tuo jComboBox e ad ogni risultato della query lo aggiungi con addItem
    http://java.sun.com/javase/6/docs/ap...JComboBox.html
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16
    Oppure fai cosi...:

    String[] item;
    ResultSet rs = stat.excuteQuery(query);
    int i=0;

    while(rs.next()){
    item[i] = rs.getString(Colonna);
    i++;
    }

    JComboBox cb = new JComboBox(item);

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49
    noi Stiamo usando questo file per la connessione e l'esecuzione delle query:

    codice:
    import java.sql.*;
    
    	public class SQLManager {
    		public static Connection conn; 
    		private PreparedStatement pstmt; 
    		private static ResultSet rs; 
    		@SuppressWarnings("unused")
    		private static Statement Stm;
    	//private static String query;
       
    
    //Apre la connessione al database
    		public SQLManager(String driver, String connectionURL, String userDB, String passwordDB){ 
    			try{ 
    				Class.forName(driver); 
    				conn = DriverManager.getConnection(connectionURL , userDB, passwordDB); 
    				Stm = conn.createStatement();
    			}catch(Exception ex){ 
    				System.out.println("SQLException: " + ex.getMessage()); 
    			} 
    		} 
         //Chiude la connessione al database
    		public void close(){ 
    			try { 
    				if(rs!=null) 
    					rs.close(); 
    				if(pstmt!=null) 
    					pstmt.close(); 
    				if(conn!=null) 
                       conn.close(); 
    			} catch (SQLException ex) { 
    				ex.printStackTrace(); 
    			} 
    		}
     
    		public  ResultSet execute(String anSQLString) {
    			try{ 
    				rs = Stm.executeQuery(anSQLString); 
    			}catch(Exception ex){ 
    				ex.printStackTrace(); 
                 	} 
    			return rs;
        	 
        		}
    	}// fine eseguiQuery



    codice:
    String[]item;
    SQLManager sqlm = new SQLManager("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/schedule","root","root");
    			
    String query = "select cognome from Utente";
    sqlm.execute(query); 
    			int i=0;
    			
    			while(rs.next()){
    				item[i]= rs.getString(cognome);
    				i++;
    			}
    				
    			JComboBox jComboDocenti = new JComboBox(item);
    			PannelloBottoni.add(jComboDocenti);
    			jComboDocenti.setBounds(1104, 120, 145, 22);
    			}

    Come devo fare?? non i riconosce il ResultSet... nel file contenente la ComboBox...

  5. #5
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da nala84
    noi Stiamo usando questo file per la connessione e l'esecuzione delle query:

    codice:
    import java.sql.*;
    
    	public class SQLManager {
    		public static Connection conn; 
    		private PreparedStatement pstmt; 
    		private static ResultSet rs; 
    		@SuppressWarnings("unused")
    		private static Statement Stm;
    	//private static String query;
       
    
    //Apre la connessione al database
    		public SQLManager(String driver, String connectionURL, String userDB, String passwordDB){ 
    			try{ 
    				Class.forName(driver); 
    				conn = DriverManager.getConnection(connectionURL , userDB, passwordDB); 
    				Stm = conn.createStatement();
    			}catch(Exception ex){ 
    				System.out.println("SQLException: " + ex.getMessage()); 
    			} 
    		} 
         //Chiude la connessione al database
    		public void close(){ 
    			try { 
    				if(rs!=null) 
    					rs.close(); 
    				if(pstmt!=null) 
    					pstmt.close(); 
    				if(conn!=null) 
                       conn.close(); 
    			} catch (SQLException ex) { 
    				ex.printStackTrace(); 
    			} 
    		}
     
    		public  ResultSet execute(String anSQLString) {
    			try{ 
    				rs = Stm.executeQuery(anSQLString); 
    			}catch(Exception ex){ 
    				ex.printStackTrace(); 
                 	} 
    			return rs;
        	 
        		}
    	}// fine eseguiQuery



    codice:
    String[]item;
    SQLManager sqlm = new SQLManager("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/schedule","root","root");
    			
    String query = "select cognome from Utente";
    sqlm.execute(query); 
    			int i=0;
    			
    			while(rs.next()){
    				item[i]= rs.getString(cognome);
    				i++;
    			}
    				
    			JComboBox jComboDocenti = new JComboBox(item);
    			PannelloBottoni.add(jComboDocenti);
    			jComboDocenti.setBounds(1104, 120, 145, 22);
    			}

    Come devo fare?? non i riconosce il ResultSet... nel file contenente la ComboBox...
    ma sono in due classi separate? :master:
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49
    si!
    una contenente contenente la connessione + query e l'altra contenente l'interfaccia e quindi anche la JComboBox

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16
    Scusa ma se dove chiami sqlm.execute(query)... fai cosi:

    ResultSet rs = sqlm.execute(query);
    ...

    dovrebbe funzionare perchè la funzione execute ti restituisce un resultSet che puoi usare nell'altra classe. O sbaglio??

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49
    l'ho modificato in questo modo:

    codice:
    String[]item = null;
    			SQLManager sqlm = new SQLManager("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/schedule","root","root");
    			String query = "select cognome from utente";
    			ResultSet rs= (ResultSet) sqlm.execute(query); 
    			 		
    			int i=0;
    			
    			while(rs.next()){
    				item[i]= rs.getString("Cognome");
    				i++;
    			}
    				
    			JComboBox jComboDocenti = new JComboBox(item);
    			PannelloBottoni.add(jComboDocenti);
    			jComboDocenti.setBounds(1104, 120, 145, 22);
    			sqlm.close();
    e mi da le seguenti eccezioni:

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.schedule.oggetti.InsegnamentiAdmin.leggitabell a2(InsegnamentiAdmin.java:250)
    at org.schedule.pannelli.PannelloAdminStart$2.actionP erformed(PannelloAdminStart.java:140)
    at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)
    at java.awt.LightweightDispatcher.processMous


    perkè???

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16
    L'errore che ti da non ho idea di cosa sia, perchè sembra non derivare da pezzo di codice in questione.
    E poi, ma è normale che nella query "cognome" sia scritto con lettera minuscola e in rs.getString("Cognome") con lettera maiuscola??

  10. #10
    Utente di HTML.it L'avatar di 1sirena
    Registrato dal
    Mar 2008
    Messaggi
    163
    L'errore non è dovuto a quella parte di codice perchè mettendolo come commento funziona tutto benissimo!!

    mi spiegheresti cosa fa questa istruzione???
    non ho capito...

    rs.getString("Cognome")

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.