Niente, ancora non funziona (anche senza l'IF).. mi stampa il JOptionPAne subito prima del ciclo while, però non entra nel ciclo.
Ora però mi è venuto un dubbio sull'inserimento:
Codice che utilizzo in un'altra classe per l'inserimento:
codice:
private void btnSalva(java.awt.event.ActionEvent evt) {
String Codice = "01001";
String Nome = txtNome.getText().toString();
//String Categoria = (cbxCategoria.getSelectedItem());
String Categoria = (String)cbxCategoria.getSelectedItem();
String Ingredienti = txaIngredienti.getText().toString(); // --- modificare sctringa in float: float prezzoPizza = Float.parseFloat(txtPrezzo.getText().toString());
String PrezzoS = txtPrezzo.getText().toString();
float Prezzo = Float.parseFloat(PrezzoS);
String Concluso = "no";
try {
Class.forName("com.mysql.jdbc.Driver"); //si carica il driver
} catch (ClassNotFoundException exc) {
System.out.println("ERRORE, Driver jdbc non presente: "+exc.getMessage());
}
Connection con = null;
try {
//con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/pizzeria, root, ");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/pizzeria","root","");
con.setAutoCommit(false);
JOptionPane.showMessageDialog(null,"Accesso al database MySQL effettuato!");
/* con questa istruzione si fa in modo che il commit avvenga solo se esplicitamente invocato dall'utente*/
con.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
Statement dati = con.createStatement();// si crea un oggetto Statement
// if(categoriaPizza != "- Scegli categoria -" || nomePizza != "" || ingredientiPizza != "" || prezzoPizza != "") {
int insert = dati.executeUpdate("INSERT INTO prodotti VALUES ('"+Codice+"', '"+Nome+"', '"+Categoria+ "', '"+ Ingredienti + "', '"+ Prezzo + "', '"+ Concluso + "')");
JOptionPane.showMessageDialog(null, Codice+" - "+Nome+" - "+Categoria+" - "+Ingredienti+" - "+Prezzo+" - "+Concluso+" - ");
//} else {
//JOptionPane.showMessageDialog(null,"Non hai inserito pizza.");
//}
con.close();//si chiude la connessione
} catch (SQLException exc1) {
System.out.println("Errore nell'inserimento dei dati: "+exc1.getMessage());
}
}
Qui non mi da nessun errore, ovvero non entra nell'ultimo catch..
Però ho pensato che:
- essendo un try catch, se non erro, appena trova un errore all'interno del try, l'applicazione "salta" subito al catch.. se cosi fosse, allora l'executeUpdate dovrebbe essere corretto e quindi l'applicazione inserisce veramente i dati nella tabella del database (siccome dopo l'executeUpdate ho messo un JOptionPane con i dati appena inseriti, e funziona egregiamente).
In poche parole, suppongo che non funzioni la visualizzazione nel ciclo WHILE