2016-03-30 13 views
0

Ich denke, dass ein Integer-Null-Wert innerhalb einer SQLite-Tabelle nicht 0 in Java entspricht. Also, wie kann ich überprüfen, ob die Int ich extrahiere aus meiner Tabelle mitSqlite Integer Null == Java Int 0

ist nicht null? Ich möchte die sqlite-Einschränkung "IS NOT NULL" nicht verwenden.

+0

eine einfache Möglichkeit, um das herauszufinden ist es, dein Programm zu debuggen und zu sehen, was 'resultSet.getInt (columnNumber) '' zurückgibt, wenn der Wert null ist –

+0

Du kannst 'resultSet.getObject' verwenden –

+0

Danke an euch beide! – mollwitz

Antwort

0

Es hängt alles, was diese Methode zu tun ist: resultSet.getInt(...)

wenn getInt eine primitive ganze Zahl zurückkehrt, dann ist das nicht null sein kann, aber wenn das ein Objekt der Klasse Integer ist, dann müssen Sie die nullabilty überprüfen durch eine normale Kontrolle zu tun wie: resultSet.getInt(...)!= null und dann nach sicher gewesen ist, dass ot NULL-Prüfung ist, wenn nicht Null:

resultSet.getInt(...)!=0 

Beispiel:

if(resultSet.getInt(columnNumber) != null){ 
    if(resultSet.getInt(columnNumber) != 0){ 
     System.out.println("int is not zero"); 
    } else { 
     System.out.println("int is zero"); 
    } 
}else{ 
    System.out.println("int is null"); 
} 
+0

Vielen Dank! – mollwitz

+0

Es gibt eine gemeinsame Schnittstelle ['ResultSet'] (https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html) und es ist sehr unwahrscheinlich, dass seine Implementierung nicht implementiert wird Das bedeutet, dass 'getInt'' int' zurückgibt. – Tom