2016-09-18 13 views

答えて

5

getBooleanを呼び出した後、wasNullを呼び出すことができます。それは、ここで説明しています:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#wasNull%28%29

+0

だから私は使用する必要があるだろう: 'ブールFOO = result.getBoolean( "バー"); if(result.wasNull())foo = null; '? – Priv

+0

はい、そのように使うことができます。 – uoyilmaz

+0

ありがとう、偉大な助け – leole

3

は、これは動作するはずです:

try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?serverTimezone=UTC");){ 

     // create table bool_table (bool_value boolean); 
     // insert into bool_table values (null); 
     String sql = "SELECT * FROM bool_table"; 

     try (PreparedStatement preStmt = conn.prepareStatement(sql)){ 

      try (ResultSet rs = preStmt.executeQuery()) { 
       rs.next(); 

       System.out.println(rs.getObject(1, Boolean.class)); 
      } 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } catch (SQLException ex) { 
     ex.printStackTrace(); 
    } 
+0

それはjava.lang.AbstractMethodError –

+0

@ NadavBを投げますが、少なくともMySQLではそうではありません。私は完全な例を加えました。 –

+0

それはpostgresqlで私に起こった。 wasNullの2番目の答えは私のためにうまくいった。だから、おそらくあなたの答えはmySQLのためだけですか? –

関連する問題