ResultSet

Status
Nicht offen für weitere Antworten.

jean20

Aktives Mitglied
Hallo,
ich möchte gerne aus dem ResultSet ( aus der Spalte Nr 3) ein wert rausholen und gucken ob es null (ob das Feld leer ist) ist.
das ist mein Code

Code:
public void createModitypes(ResultSet setFire) {

			while (setFire.next()) {
				int test = setFire.getInt(3);
				if(test = null){
				   // gehe in die nächste zeile
                                                                 else{
                                                                 ....
                                                                 }	                   
			}

Danke für die Hilfe!!!!!!!!!!!!!!!
 

jean20

Aktives Mitglied
wenn ich das so mache

Code:
public void createModitypes(ResultSet setFire) {
		
			while (setFire.next()) {
				if(setFire.getObject(3).equals(null)){
					
				}
				else{
				   System.out.println("child: " + setFire.getObject(3).toString());
				}
				...

bekomme ich eine NullPointerException.
Da ich nicht in jedem DAtensatz (in dieser Spalte) da ein Wert drin habe
 

DP

Top Contributor
der code oben dürfte sich garnicht kompilieren lassen, da int nie null ist.
 
B

bygones

Gast
also zum vergleichen immer == benutzen !
mit getInt bekommst du 0 zurück, wenn die spalte nicht existiert mit getObject null.
also entweder getInt(3) == 0 oder getObject(3) == null
 

Bleiglanz

Gesperrter Benutzer
wenn du die Datenbank-NULL meinst, dann musst du nach dem entsprechenden getXXX(colindex) mit wasNull prüfen, ob das ein NULL-Wert war

ausserdem vergleicht man null mit == und nicht mit equals!




wasNull

public boolean wasNull()
throws SQLException

Reports whether the last column read had a value of SQL NULL. Note that you must first call one of the getter methods on a column to try to read its value and then call the method wasNull to see if the value read was SQL NULL.

Returns:
true if the last column value read was SQL NULL and false otherwise
Throws:
SQLException - if a database access error occurs
 
G

Gast

Gast
Einmöglicher Fehler könnte auch sein das man normaler weise nicht == NULL abfragt sondern
Wert IS NULL oder wert IS NOT NULL der Vergleich == NULL liefert z.B bei Oracle DB immer false
 
B

bygones

Gast
Gast hat gesagt.:
Einmöglicher Fehler könnte auch sein das man normaler weise nicht == NULL abfragt sondern
Wert IS NULL oder wert IS NOT NULL der Vergleich == NULL liefert z.B bei Oracle DB immer false
das stimmt auf DB ebene - aber nicht auf Java Ebenen
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben