Buongiorno a tutti,
Volevo chiedervi un aiuto su questa classe, volevo creare una classe composta da due metodi getConnection e inserDitta. Il primo crea una connessione al database Mysql il secondo inserisce una riga nella tabella persone.
La classe apre il collegamento al database mentre il metodo inserDitta non riesce ad inserire la riga con i dati.
Questo è l’errore che mi compare :
INSERT QUERY:INSERT INTO `persone`(`nome`,`cognome`,`eta`)VALUES ('Giacomo','vittoria','80');
INSERT ERROR :Transaction is being rolled back
Exception in thread "main" java.sql.SQLException
at Connessione.inserDitta(Connessione.java:43)
at Partenza.main(Partenza.java:8)
Qualcuno mi può aiutare Grazie
public class Connessione
{
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(“jdbc:mysql://localhost:8080/test?user=root&password=root”);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
return conn;
}
public static void inserDitta(String nome,String cognome, int eta)
throws SQLException {
Statement stmt = null;
Connection conn = null;
try{
conn =getConnection();
conn.setAutoCommit(false);
stmt=conn.createStatement();
String insertCompany="INSERT INTO `persone`"+"(`nome`,`cognome`,`eta`)";
insertCompany += "VALUES ('"
+nome+"','"
+cognome+"','"
+eta+"');";
System.out.println("INSERT QUERY:"+insertCompany);
stmt.executeQuery(insertCompany);
}catch (SQLException sqle) {
if (conn !=null) conn.rollback();
System.out.println("INSERT ERROR :Transaction is being rolled back");
throw new SQLException();
}finally {
if (stmt !=null ) stmt.close();
if (conn !=null) conn.close();
}
}
}