2012-02-27 38 views
3

在我的Oracle表中有不同類型的列。
我想閱讀所有列爲數字。ResultSet如何在數據爲null時從對象中獲取字符串?

String str = resultSet.getString("col1"); 

的問題是,如果在數據庫中列定義爲號碼,和值是

0.5

返回字符串將是

0.5


我不能使用任何其他吸氣像getDecimal()

如果我使用:

String str = resultSet.getObject("col1").toString(); 

我會得到一個異常,如果該值爲null。

回答

4

你可以使用

String str = String.valueOf(resultSet.getObject("col1")); 

一個簡單的解決方法,以避免任何異常。 (不知道爲什麼你不能使用resultSet.getDouble("col1")雖然)。

+0

,因爲我只想要打印的內容,沒有必要讓合適的對象(我也不想檢查每列的類型(我也不列的類型設計時間)) – markiz 2012-02-27 19:51:49

+0

@markiz,好的。我懂了。 – aioobe 2012-02-27 19:52:52

1

如果你不希望看到一個空字符串,而不是字面的「空」爲空值(這是String.valueOf())會產生,你可以使用方法:

Object value = resultSet.getObject("col1") 
String str = value == null ? "" : value.toString(); 
+0

我需要與resultSet.getString(「col1」); 返回 – markiz 2012-02-27 20:16:38

+0

我相信toString()將與非字符串列上的getString()相同。 – 2012-02-27 20:20:29

相關問題