Maison >base de données >tutoriel mysql >Comment gérer les valeurs NULL dans une colonne entière contrainte à l'aide de JDBC ?

Comment gérer les valeurs NULL dans une colonne entière contrainte à l'aide de JDBC ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 07:04:09665parcourir

How to Handle NULL Values in a Constrained Integer Column using JDBC?

Définition de valeurs nulles sur une colonne entière dans JDBC

Question :

Comment pouvez-vous définir et obtenir des valeurs nulles dans une colonne Integer nullable avec une contrainte utilisant JDBC ?

Contexte :

Considérez une table avec une colonne nommée PROTOCOL, qui est nullable et a une contrainte qui limite ses valeurs à 1, 2 ou 3. Lorsque vous tentez de définir ou d'obtenir des valeurs nulles pour cette colonne, vous pouvez rencontrer des problèmes avec setInt et getInt.

Solution :

Pour définir une valeur nulle sur une colonne Integer à l'aide de JDBC, utilisez la méthode setNull de la classe PreparedStatement. La syntaxe est la suivante :

pst.setNull(4, java.sql.Types.INTEGER);

Ici, pst est une instance de la classe PreparedStatement. Le premier argument, 4, représente l'index de la colonne que vous souhaitez définir sur null. Le deuxième argument, java.sql.Types.INTEGER, spécifie le type SQL de la colonne.

Mise à jour Java 8 :

Dans Java 8, la classe Types a a été déplacé vers le package java.sql, donc la syntaxe mise à jour pour définir une valeur nulle est :

pst.setNull(4, java.sql.Types.INTEGER);

Obtenir Null Valeurs :

Pour récupérer une valeur nulle d'une colonne Integer à l'aide de JDBC, vous pouvez utiliser la méthode isNull de la classe ResultSet. La syntaxe est la suivante :

if (rs.isNull("PROTOCOL")) {
    // Handle null value
}

Ici, rs est une instance de la classe ResultSet et "PROTOCOL" est le nom de la colonne que vous souhaitez vérifier.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn