2011-04-30 5 views
0

Quelles sont les utilisations de la méthode setNull() dans l'interface PreparedStatement? J'ai regardé au poste this.Utilisations de PreparedStatement setNull

Il dit: Without the setNull(..) method there would be no way to set null values for the Java primitives.

mais avec autoboxing dans JDK5, je pense que les valeurs nulles peuvent être définies sur même les types primitifs.

Il y a un autre post dans un autre forum dit: If you want to be portable to different databases, use the setNull() method.

Cependant, il n'y a rien clairement mentionné dans la documentation Java. Pourriez-vous m'aider à comprendre cela?

+0

"Cependant, avec l'autoboxing dans JDK5, je pense que les valeurs nulles peuvent être définies sur des types même primitifs." - faux. Autoboxing signifie que vous pouvez assigner des valeurs primitives aux variables du type d'objet; il ne vous laisse pas passer null à une méthode qui prend une primitive. –

+0

Oui .. j'avais tort. – Vicky

Répondre

1

Je pense qu'il est plus facile de comprendre cela si vous le voyez depuis la fin de la base de données. Si vous souhaitez définir un champ sur NULL dans votre instruction d'insertion de base de données, vous devez indiquer à la base de données qu'il doit être défini sur NULL plutôt que sur la valeur par défaut de la colonne. Si dans le schéma de base de données vous avez un champ d'entier nul, vous utiliseriez set null pour le définir sur la valeur DB NULL, plutôt que sur sa valeur par défaut (0).

+0

Oui .. cela efface les choses. Donc, si vous devez définir quelque chose de NULL, utilisez setNull. – Vicky

+0

C'est comme ça que je le comprends. – DaveH