Delete row de ma base

cs_anisj1m Messages postés 92 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 22 janvier 2009 - 20 mars 2007 à 13:20
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 23 mars 2007 à 22:46
bonjour;
j'ai pas arriver a savoir ou est l'erreur j'ai essaier tout mais je n'arrive pas a comprendre l'erreur:
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

String pilote = "com.mysql.jdbc.Driver";
try{
Class.forName(pilote);
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/base","root","password");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT * FROM utilisateur");
rs.first();
rs.deleteRow();
  }
  catch(Exception e11){
      System.out.println("erreur "+e11);
    }
et l'erreur est la suivante :

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.

mais moi j'ai bien specifier le parametre ResultSet.CONCUR_UPDATABLE dans la creation de mon statment et j'ai bien selectioner un seule tableau celle de "utilisateur " mais toujours il m'affiche cette erreur
si quelqu'un peut m'aider et merci infiniment<!-- / message -->

2 réponses

gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
20 mars 2007 à 14:29
Salut,

Ça vient de de la méthode appelée sur le Statement pour crée le ResultSet selo moi. Pas sur que ça marche, mais remplace ton executQuery() par un executeUpdate().

Dans le cas ou il te jette vis à vis de la requête SQL (vu que c'est un select et non un insert ou un delete), reste à adapter la requête pour supprimer les tuples que tu veux.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
23 mars 2007 à 22:46
Salut:

1. Il vaut mieux faire l'initialisation du pilote de ta base de données dans un bloc static ou au début du main et de ne pas le faire à chaque requête.

2. Je ne vois pas de requête de type DELETE ...


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts."
0
Rejoignez-nous