Salut à tous !
J'essaie d'effectuer une insertion dans la base de données, mais l'opération échoue toujours. Est-ce que quelqu'un peut m'aider la-dessus ?
Merci d'avance
Voici mon code :
Code:package webapp; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; public class JDBC { private int statut; private String id; private String titreEmp; private String specialiteEmp; private String experienceEmp; private String titreCand; private String specialiteCand; private String experienceCand; private int flag; private String[] infoCand = new String[3]; private String[] infoEmp = new String[3]; Map<String, String[]> mapCand = new HashMap<String, String[]>(); Map<String, String[]> mapEmp = new HashMap<String, String[]>(); /* La liste qui contiendra tous les résultats de nos essais */ public Map<String, String[]> executerTests() { /* Chargement du driver JDBC pour MySQL */ try { Class.forName( "com.mysql.jdbc.Driver" ); } catch ( ClassNotFoundException e ) { } /* Connexion à la base de données */ String url = "jdbc:mysql://localhost:3306/bdd_sdzee"; String utilisateur = "zero"; String motDePasse = "abcd"; Connection connexion = null; Statement statement = null; ResultSet resultat_2 = null; ResultSet resultat_1 = null; try { connexion = DriverManager.getConnection( url, utilisateur, motDePasse ); /* Création de l'objet gérant les requêtes */ statement = connexion.createStatement(); flag = 0; resultat_1 = statement.executeQuery( "select * from candidat;" ); while ( resultat_1.next() ) { infoCand[0] = resultat_1.getString( "titre" ); infoCand[1] = resultat_1.getString( "specialite" ); infoCand[2] = resultat_1.getString( "experience" ); id = Integer.toString( resultat_1.getInt( "id_cand" ) ); mapCand.put( id, infoCand ); } resultat_2 = statement.executeQuery( "select * from employeur;" ); while ( resultat_2.next() ) { infoCand[0] = resultat_2.getString( "titre" ); infoCand[1] = resultat_2.getString( "specialite" ); infoCand[2] = resultat_2.getString( "experience" ); id = Integer.toString( resultat_2.getInt( "id_emp" ) ); mapEmp.put( id, infoCand ); } Iterator<Entry<String, String[]>> itCand = mapCand.entrySet().iterator(); Iterator<Entry<String, String[]>> itEmp = mapEmp.entrySet().iterator(); while ( itCand.hasNext() ) { while ( itEmp.hasNext() ) { Map.Entry<String, String[]> mapentry_1 = (Map.Entry<String, String[]>) itCand.next(); Map.Entry<String, String[]> mapentry_2 = (Map.Entry<String, String[]>) itEmp.next(); infoCand = mapentry_1.getValue(); infoEmp = mapentry_2.getValue(); if ( infoCand[0].compareTo( infoEmp[0] ) == 0 && infoCand[1].compareTo( infoEmp[1] ) == 0 && infoCand[2].compareTo( infoEmp[2] ) == 0 ) { statement.executeUpdate( "insert into affectation (id_emp,id_cand) values (2, 4);" ); } } itEmp = mapEmp.entrySet().iterator(); } } catch ( SQLException e ) { } finally { if ( resultat_1 != null ) { try { resultat_1.close(); } catch ( SQLException ignore ) { } } if ( resultat_2 != null ) { try { resultat_2.close(); } catch ( SQLException ignore ) { } } if ( statement != null ) { try { statement.close(); } catch ( SQLException ignore ) { } } if ( connexion != null ) { try { connexion.close(); } catch ( SQLException ignore ) { } } } return mapEmp; } }
-----