程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 教你學會如何處理數據庫中的NULL

教你學會如何處理數據庫中的NULL

編輯:Oracle數據庫基礎

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 

}

(Java研究組織)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved