[Java] Integer.parseInt

Résolu/Fermé
camelion14 Messages postés 10 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 18 janvier 2014 - 18 janv. 2014 à 18:58
camelion14 Messages postés 10 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 18 janvier 2014 - 18 janv. 2014 à 23:31
Bonjour, voila sachant que que la colonne n"est pas de type integer elle est de type string mais c,tien des numero

erreur incompatible type if(Integer.parseInt(fid.getText()) == dt.getValueAt(j, 0))

private void btnAjouterActionPerformed(java.awt.event.ActionEvent evt) {                                           
     try {
         //verifier si deja existe 
         boolean b=false;
         for(int j = 0; j <dt.getRowCount() ;j++){
             
         if(Integer.parseInt(fid.getText()) == dt.getValueAt(j, 0)){// <gras>erreur incompatible type</gras>
         b=true;    
         break;
         
             }    
         }
         if (b==false){
         St.executeUpdate("Insert into communes Values ("+fid.getText()+",'"+fnom.getText()+"','"+fadresse.getText()+"','"+fage.getText()+"')");
         Affichercomn();//recharger la liste des communes
         JOptionPane.showMessageDialog(null, "une commune est ajoutée");    
             
         }else{
           JOptionPane.showMessageDialog(null, "num deja excute ");    
           fid.setText(" ");
         }
     }catch (Exception e){
      
         JOptionPane.showMessageDialog(null,"erreur ajout des communes \n"+ e.getMessage());//54h48
     }<code java>
</code>            
                
A voir également:

1 réponse

e666 Messages postés 458 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 2 août 2014 173
18 janv. 2014 à 22:22
Salut,

Il faut plutôt faire un


Integer.parseInt(fid.getText()).equals(dt.getValueAt(j, 0)));
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
18 janv. 2014 à 22:33
Non, Integer.parseInt renvoie un int, donc ce n'est pas un objet, on ne peut pas lui appliquer de méthode comme equals.

Ici le problème c'est que dt (dont on ne connait pas le type, mais qui est certainement un TableModel) va renvoyer un Object avec la méthode getValueAt, il faut donc le convertir en int.

if (Integer.parseInt(fid.getText()) == (int) dt.getValueAt(j, 0))
0
camelion14 Messages postés 10 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 18 janvier 2014
18 janv. 2014 à 22:40
merci bc e66 et surtout KX sa ma vraiment aidé seulement quant je exécute cette requete qui est d'ajoute
je comprend pas pourquoi au niveau du else{
JOptionPane.showMessageDialog(null, "num deja excute ");
fid.setText(" ");
}

ca marche pas
0
camelion14 Messages postés 10 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 18 janvier 2014
18 janv. 2014 à 22:49
KX du coût ca a ressuie mais sa a généré une erreur il reconnais plus et il fait pas la verification
il point directe sur
catch (Exception e){

JOptionPane.showMessageDialog(null,"erreur ajout des communes \n"+ e.getMessage());
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
18 janv. 2014 à 22:51
C'est quoi l'exception ? Peut-être que getValueAt(j, 0) n'est pas un entier, mais dans ce cas il faudrait savoir ce que tu as mis dedans... il faut peut-être aussi le convertir !
0
camelion14 Messages postés 10 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 18 janvier 2014
18 janv. 2014 à 22:55
fid.setText(dt.getValueAt(i, 0).toString());//Represente numuro de la ligne et de colone
        fnom.setText(dt.getValueAt(i, 1).toString());
    fadresse.setText(dt.getValueAt(i, 2).toString());
        fage.setText(dt.getValueAt(i, 3).toString());
0