45

私はSQL列を持っていますPROTOCOL。それはNULL可能で、テーブルに制約があります

PROTOCOL IN (1, 2, 3)

また、nullableなので、null値をテーブルに設定して取得したい

setIntしかし、私はできませんgetInt。JDBCを使用してnullを列にnullとして設定する方法

setInt(4,null);
4

2 に答える 2

95

使ってみてください。

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

インターフェース PreparedStatement.setNull API

java.sql.Types から SQL 型へのマッピング

PS : Java 8 の更新を反映するように編集されました。

于 2013-01-25T02:57:49.613 に答える
25

Smitの答えに加えて:

Integerである可能性のあるデータベースにオブジェクトを挿入する場合nullは、使用できます

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

それ以外の

if (yourObject == null) {
    statement.setNull(4, java.sql.Types.INTEGER);
else {
    statement.setInt(4, yourObject);
}
于 2017-11-15T17:14:59.907 に答える