bonjour;
je veux inserer un ligne dans ma base de donne mais il ya un problem je ne sais ma so origine ;
voici mon code :
String pilote = "com.mysql.jdbc.Driver";
try{
Class.forName(pilote);
Connection connexion1 = DriverManager.getConnection("jdbc:mysql://localhost/base","root","pass");
Statement statement = connexion1.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM utilisateur";
ResultSet resultat = statement.executeQuery(sql);
// on se place sur la ligne à insérer
resultat.moveToInsertRow();
//on renseigne les différents champs
resultat.updateString("nom","nouveauNom");
resultat.updateString("prenom","nouveauPrenom");
//on insère effectivement la nouvelle ligne
resultat.insertRow();
}
catch (Exception e2){
le problem est que l'ajout n'est pas effectuer est il m'affiche cette erreur:
echec pilote : com.mysql.jdbc.NotUpdatable: Result Set not updatable.This result set must come from a statement that was created with a result set type of ResultSet.CONCUR_UPDATABLE, the query must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details.
alors que j'ai bien fait que mon statement a un parametre comme il requiert et mon table n'a pas de cle primaire alors je ne voit pas ou est l'erreur
J'vais peut être dire une bêtise, mais à vue de nez, tu effectues une selection et non un ajout avec ta requete. Du coup, la ligne insérée, au niveau du ResulSet, elle serait pas un peu inexistante ?