當前位置:開發者網絡 >> 技術教程 >> JSP教程 >> 數據庫相關 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
學會如何處理數據庫中的null
作者:未知
日期:2005-03-18
人氣:
投稿:snow(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
Java數據庫連接(JDBC)結果集類掩蓋了一個微小的bug,如果你忘記了使用wasNull方法的話。關係數據庫中的NULL值的概念和Java中null的值的概念相似,前者任何類型都可以為null,但是在Java中,基本數據類型不能為null。當要讀取一個數據庫域賦值給一個基本類型的時候(例如resultSet.getInt(1)),可能會造成問題。這樣的例子已經讓JDBC規範的制訂者開始研究如何解決。


當一個值通過如getInt、getLong、getFloat這樣的getXxx方法從數據庫中得到後,開發者可以調用wasNull()方法來找出其值是否為null。如果wasNull返回true,那麼可以讓開發者為基本類型選擇使用合適的null值。GetXxx方法獲得的值與JDBC的驅動緊密相關。

例如,在某個數據庫驅動中,它返回0,另一個也許返回那一列的缺省值,也許還有一個返回驅動在那一列讀取的最後一個值。

所以當你準備讀取數據庫中的NULL值的時候,要小心缺省值,你也許需要以下面的習慣編碼:

int idx = resultSet.getInt(1);
if(resultSet.wasNull( ))
{
idx = -1; // this is our default value for idx
}

相關文章: