[Java] Integer.parseInt

Résolu
camelion14 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
camelion14 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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 470 Date d'inscription   Statut Membre Dernière intervention   175
 
Salut,

Il faut plutôt faire un


Integer.parseInt(fid.getText()).equals(dt.getValueAt(j, 0)));
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention  
 
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