2012-04-19 31 views
1

我想從我的數據庫獲取一個浮點值的Java(ME)SQLlite的數據類型不匹配

下檢查自己的其他null,則返回1惡性循環; (如果數據庫爲空,則工作,但如果浮動則爲錯誤)

month = row.getString(39) != null ? row.getFloat(39): 1; 

另一方面,以下內容直接浮動。 (作品如果漂浮在DB,但如果誤差爲null)

float test = row.getFloat(39); 

我怎麼會去從數據庫中獲取浮動,並在空的情況下,返回默認值。我不能以任何一種格式獲得它,因爲它在diff格式時會導致錯誤。

最好不要更改SQL語句。由於有45個變量,它會變得太大,凌亂和難以管理。我沒有看過它,但我認爲與SQL我可以做某種IFNULL(field,default)。或者,也許這是最好的方法......儘管Id也可能需要AS field

回答

2

以下似乎適用於任何數據類型。使用getObject並檢查它是否爲null。即使在花車的情況下,!= null本來會是無效的比較。

month = row.getObject(39) != null ? row.getFloat(39): 1;