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

    [JAVA] Leggere testo da JTextField e salvare dati in un database

    Buongiorno a tutti.
    Sto facendo un programmino che servirà a me per gestire il mio blog che parla di cinema. Questo piccolo programma ha una schermata introduttiva che mi chiede se voglio aggiungere un film, cancellarlo o visualizzare tutti i film nella tabella. La tabella viene creata in base all'anno e il JTextField tfAnnoVisione indica in che anno ho visto un determinato film (che non è necessariamente quello di uscita al cinema).

    La form chiede i seguenti dati: AnnoVisione - anno in cui ho visto il film
    Titolo
    Regista
    Genere
    Anno - Anno effettivo di pubblicazione
    Voto
    e sono tutte String

    Sia la funzione di creazione della tabella sia la cancellazione - che leggono da un solo JTextField - (la cancellazione l'ho provata inserendo manualmente tramite SQL e poi cancellando dal mio programma) funzionano bene, mentre la funzione di aggiunta di un film che, prese le informazioni nei JTextField, mi dovrebbe creare un oggetto Film con i relativi attributi, non funziona. Non capisco se non riesce ad inserire nel database o se proprio mi crea un oggetto che ha i campi a NULL.

    Vi posto qualche frammento del codice. Talascio tutta la trafila di creazione della form con Swing e passo direttamente all'ActionListener del bottone "Submit" che è appunto quello che dovrebbe farmi l'aggiunta. Quando clicco su submit il frame di appoggio per la form si chiude in automatico per mia scelta.

    codice:
    this.bSubmit = new JButton ("Submit");		gbc.gridx = 1;
    		gbc.gridy = 6;
    		this.add(this.bSubmit, gbc);
    		this.bSubmit.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e){
    				Sql add = new Sql();
    				try {
    					add.aggiungiFilm(tfAnnoVisione.getText(), tfTitolo.getText(), tfRegista.getText(), tfGenere.getText(), tfAnno.getText(), tfVoto.getText());
    				} catch (SQLException e1) {}
    				frame.setVisible(false);
    			}
    		})
    Mentre qui sotto il codice che manipola l'SQL con la funzione aggiungiFilm

    codice:
    private static final String add1 = "INSERT INTO Film"; 	private static final String add2 = " (Titolo, Regista, Genere, Anno, Voto) VALUES (?,?,?,?,?)";
    
    public void aggiungiFilm(String annoVisione, Film film) throws SQLException{		ConnessioneDB conDB = new ConnessioneDB();
    		Connection con = null;
    		PreparedStatement stmt = null;
    		try{
    			con = DriverManager.getConnection(conDB.getUrl(), conDB.getUsername(), conDB.getPassword());
    			String sql = add1 + annoVisione + add2;
    			stmt = con.prepareStatement(sql);
    			stmt.setString(1, film.getTitolo());
    			stmt.setString(2, film.getRegista());
    			stmt.setString(3, film.getGenere());
    			stmt.setString(3, film.getAnno());
    			stmt.setString(4, film.getVoto());
    			stmt.executeUpdate();
    		} finally {
    			if (stmt != null){
    				stmt.close();
    			}
    			if (con != null){
    				con.close();
    			}
    		}
    	}

    Ringrazio in anticipo per un eventuale aiuto!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    71
    nell'insert non manca un campo rispetto ai campi della text field?

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.