[Java] Integer.parseInt
Résolu
camelion14
Messages postés
11
Statut
Membre
-
camelion14 Messages postés 11 Statut Membre -
camelion14 Messages postés 11 Statut Membre -
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))
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>
1 réponse
-
Salut,
Il faut plutôt faire un
Integer.parseInt(fid.getText()).equals(dt.getValueAt(j, 0)));-
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))
-
-
-
-
-