2016-05-20 2 views
0

Je met à jour les dates dans la table mysql. Mon problème est que certaines dates sont nulles ne pas insérer dans la table. J'utilise cette vérification, mais mon problème est de type intvérifier est variable est null avant d'insérer dans la table mysql

public void Salva(String query){ 
    int i = 1; 
    try{ 
     con=Connessione.ConnessioneDB(); 
     pst= con.prepareStatement(query, PreparedStatement.RETURN_GENERATED_KEYS); 
     if (anno != null){ 
      pst.setString(i, getAnno()); 
      i++; 
      } 
     if (numFormulari != null){ 
      pst.setString(i, getNumFormulari()); 
      i++; 
     } 
     if (dataFornulari != null){ 
      pst.setString(i, getDataFornulari()); 
      i++; 
     } 
     if (getIdClienti != null){ 
      pst.setInt(i, getIdClienti()); 
      i++; 
     } 
     if (idIva != null){ 
      pst.setString(i, getIdIva()); 
      i++; 
     } 

Répondre

1

type primitif, comme int ne peut être nulle, vous devriez essayer d'utiliser la classe entière

0

Comme Hoffman a dit, les types primitifs, comme les entiers, ne peut pas être null. Ce que vous pouvez faire est de trouver une valeur invalide (comme -1, car je suppose que vos identifiants ne peuvent pas être négatifs). Modifiez vos méthodes pour renvoyer un ID non valide s'ils ne peuvent pas obtenir un ID valide et recherchez un ID non valide au lieu de null.

Je suppose que vous vérifiez le seul ID int que je vois dans le code. Et en général.

En outre, plus de votre code (par exemple le code pour la méthode getIdClienti()) et plus de détails sur votre projet peuvent nous aider à trouver une solution mieux adaptée.