2012-02-27 8 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

+0

@markiz、ok。そうですか。 – aioobe

1

null値(これはString.valueOf())のリテラル "null"ではなく空の文字列を表示したくない場合は、

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

私はresultSet.getString( "col1")と同じ結果が必要です。 は – markiz

+0

を返す私はtoString()が文字列以外の列のgetString()と同じであると信じています。 –

関連する問題