web-dev-qa-db-fra.com

Insertion de null dans une colonne entière à l'aide de JDBC

J'ai une colonne sql PROTOCOL, elle est nullable et a une contrainte sur la table

PROTOCOL IN (1, 2, 3)

De plus, comme il est nullable, je veux définir et obtenir des valeurs nulles dans la table

Mais je ne peux pas faire setInt et getInt comme null. Comment définir un null sur une colonne comme null à l'aide de JDBC

setInt(4,null);
33
constantlearner

Essayez d'utiliser.

   pst.setNull(4, Java.sql.Types.INTEGER);  //pst is prepared statement instance.

Interface PreparedStatement.setNull API

Mappage de Java.sql.Types aux types SQL

P.S. : Modifié pour refléter Java 8 mises à jour.

78
Smit

En plus de réponse de Smit :

Si vous souhaitez insérer un objet Integer- dans une base de données qui peut être null, vous pouvez utiliser

statement.setObject(4, yourObject, Java.sql.Types.INTEGER);

au lieu de

if (yourObject == null) {
    statement.setNull(4, Java.sql.Types.INTEGER);
else {
    statement.setInt(4, yourObject);
}
17
Qw3ry