Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Null数据库列在resultSet上变为零_Java_Oracle_Jdbc - Fatal编程技术网

Java Null数据库列在resultSet上变为零

Java Null数据库列在resultSet上变为零,java,oracle,jdbc,Java,Oracle,Jdbc,我不能给你看我的数据库结构。。。但我可以试着做一个例子: Table Car_Manufacturer ( car_id NUMBER; manuFacturer_id NUMBER; ) 价值观: |TABLE CAR_MANUFACTURER | | CAR_ID |MANUFACTURER_ID | | 1 | 1284 | | 2 | (null) | 选择my resultSet接收的内容: select * f

我不能给你看我的数据库结构。。。但我可以试着做一个例子:

Table Car_Manufacturer 
(
  car_id NUMBER;
  manuFacturer_id NUMBER;
)
价值观:

|TABLE CAR_MANUFACTURER   |
| CAR_ID |MANUFACTURER_ID |
|    1   |     1284       |
|    2   |    (null)      |
选择my resultSet接收的内容:

select * from CAR_MANUFACTURER where car_id = 2
我可以拿到车号:

int id = rs.get("car_id");
id值的输出:

2
但是,当我尝试获取制造商ID时,空值变为整数:

Integer manId = rs.get("manufacturer_id");
输出manId

0

有什么想法吗?我需要得到空值。。。不是整数值。

请在此处检查接受的答案:


它为您提供了一种方法,可以知道在调用rs.getXXX时读取的值是否为null并默认为某个值。

如果您遇到重复的值,则应将其标记(或关闭投票)为重复,而不是发布实质上指向重复问题的答案。对我来说不适用。。。因为,当制造商ID包含任何值时,rs.wasNull返回TRUE。@CleitonRibeiro正确的询问顺序是
rs.getInt(“制造商ID”);rs.wasNull()(在获取列值后立即执行)。如果这不起作用,那么它就是JDBC驱动程序中的一个bug。我正是这样做的。。。但我用的是rs。getLong@CleitonRibeiro这也应该行得通。确保您使用的是最新版本的Oracle JDBC驱动程序。否则你可能不得不使用
getObject
。。。这个解决方案对我不起作用。