[Risolto]Combobox interagire con mysql in java

di il
8 risposte

[Risolto]Combobox interagire con mysql in java

Ciao a tutti non capisco come far interagire la mia combobox con mysql in modo tale che l'utente selezionando l'anno esce tutta la riga corrispondente,la combobox è inserita in un form creato tramite windows builder in java.Inserisco il codice sotto :
 JButton btnNewButton = new JButton("Clicca");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				Connection cn;
				Statement st ;
				int rs;
				ResultSet rs1;
				String sql;
				String a=(String) comboBox.getSelectedItem();
				try {
					try {
						Class.forName ( "com.mysql.cj.jdbc.Driver");
					} catch (ClassNotFoundException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					
					cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/popolazione?user=root&password=");
					sql="SELECT * FROM popolazione WHERE Anni = 'a'";
					st=cn.createStatement();
					rs1=st.executeQuery(sql);
					//System.out.println("id"+" "+"marca"+" "+"prezzo"+" "+"tipo");
					while (rs1.next()==true) {
					System.out.println(rs1.getString("Anni")+" "+rs1.getString("Emigrati")+ " "+rs1.getString("Rimpatriati")+ " "+rs1.getString("Saldo_Migrazione"));
					
					
				}
				} catch (SQLException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}

8 Risposte

  • Re: [Risolto]Combobox interagire con mysql in java

    reggioboy ha scritto:


    Ciao a tutti non capisco come far interagire la mia combobox con mysql in modo tale che l'utente selezionando l'anno esce tutta la riga corrispondente,la combobox è inserita in un form creato tramite windows builder in java.
    A parte il fatto che non è un buon design mettere tutta la roba di JDBC (pure il class loading del driver) dentro un actionPerformed ...
    Comunque il punto è "esce tutta la riga corrispondente" .. dove? Su una tabella (JTable) ? Altro?
  • Re: [Risolto]Combobox interagire con mysql in java

    Su una label creata apposta non lo inserita perchè sto facendo le prove in console e non riesco a farlo. Scusami è la prima volta che uso i database con java
  • Re: [Risolto]Combobox interagire con mysql in java

    reggioboy ha scritto:


    Su una label creata apposta
    E quale è il problema nel fare un setText() sulla label?
  • Re: [Risolto]Combobox interagire con mysql in java

    Mi spieghi come? Mi puoi scrivere il procedimento un'esempio e da due giorni che mi scervello a far interagire la combobox con mysql filtrando e mandando a video solo la riga che richiede l'utente tramite combobox
  • Re: [Risolto]Combobox interagire con mysql in java

    reggioboy ha scritto:


    Mi spieghi come? Mi puoi scrivere il procedimento un'esempio e da due giorni che mi scervello a far interagire la combobox con mysql filtrando e mandando a video solo la riga che richiede l'utente tramite combobox
    Beh, intanto c'è comunque un errore:

    sql="SELECT * FROM popolazione WHERE Anni = 'a'";

    questa 'a' NON è la variabile String a !
    Se vuoi rendere dinamica la query, puoi comporre la stringa (concatenazione con +, con StringBuilder ecc..). Se è solo un valore numerico non ci sono problemi di escaping. Altrimenti il modo più corretto è usare PreparedStatement (non Statement).
  • Re: [Risolto]Combobox interagire con mysql in java

    Gentilmente mi potresti far vedere come devo fare per risolvere il problema grazie
  • Re: [Risolto]Combobox interagire con mysql in java

    reggioboy ha scritto:


    Gentilmente mi potresti far vedere come devo fare per risolvere il problema grazie
    Intanto:
    sql="SELECT * FROM popolazione WHERE Anni = " + a;
    Se è una stringa numerica es. 2021 non ci sono problemi (di escaping).

    Altrimenti:
    PreparedStatement pstm = conn.prepareStatement("SELECT ....... Anni = ?");
    pstm.setString(1, a);
    ResultSet rs = pstm.executeQuery();

    E se usi JDBC, dovresti poi fare tutti i close() corretti (che non hai fatto) usando correttamente i try/finally.
  • Re: [Risolto]Combobox interagire con mysql in java

    Ti ringrazio risolto sei un grande e da un pomeriggio che lottavo grazie infinite
Devi accedere o registrarti per scrivere nel forum
8 risposte