Ce sera un SQLiteCursor faire si une colonne est null?
Je veux obtenir un nombre entier à partir d'un Curseur retourné par une requête SQLite, mais je sais que le nombre entier peut être null. Malheureusement je ne peux pas trouver n'importe quel Curseur méthode me permettant de vérifier ce point.
Le code sera
mModifiedDate = cursor.getInt(cursor.getColumnIndex(MODIFIED_DATE));
Je m'attends à une possible valeur null, et c'est en effet souhaitable pour diverses raisons—le champ fait référence à la fois un deuxième tableau a été modifié, et la première table peut être remplie avant que la seconde est. Malheureusement, la documentation de Curseur dit que si une exception est levée, ou une valeur d'erreur est retourné, ou tout autre comportement, est à gauche jusqu'à la mise en œuvre, et la SQLiteCursor documentation ne veut RIEN dire.
Qu'est ce que ce code ne si le champ est null? Est-il un moyen de vérifier cela avant d'appeler getInt()?
Vous devez vous connecter pour publier un commentaire.
il y a un
isNull()
-méthode, il suffit d'utiliser si l'avance de détecter null-valeurs. Souvenez-vous: Il est assez commun pour les méthodes qui renvoient une valeur booléenne pour être nomméisX()
au lieu degetX()
, elle peut être source de confusion 🙂De mon expérience, elle renvoie 0. Si 0 n'est pas une réponse possible, alors vous pouvez simplement rechercher 0. Si c'est une réponse possible, alors vous devez faire comme pgsandstrom suggéré.