NULL-Wert aus der Datenbank abfangen!

Also soetwas elementares steht in wenigen Literaturen und nur 2 Zeilen darüber.

Problembeschreibung:

in einer SELECT-Anweisung bekomme ich in einigen Spalten NULL-Werte. wie kann ich dies in meinem Java-Programm abfragen, ob die Spalte NULL-Wert enthält. Ich habe dies notgedrungenerweise über catch{} abgehandelt.
In der Literatur wird die Methode wasNull() der Klasse ResultSet angegeben. Bekomme ich nicht hin!!! Vielleicht könnt ihr mir mit einem Codebeispiel weiterhelfen!

in einer SELECT-Anweisung bekomme ich in einigen Spalten
NULL-Werte. wie kann ich dies in meinem Java-Programm
abfragen, ob die Spalte NULL-Wert enthält. Ich habe dies
notgedrungenerweise über catch{} abgehandelt.
In der Literatur wird die Methode wasNull() der Klasse
ResultSet angegeben. Bekomme ich nicht hin!!! Vielleicht könnt
ihr mir mit einem Codebeispiel weiterhelfen!

Hallo!

Das mit wasNull funkt so:
rs.getString( „SPALTENNAME“ )
if( rs.wasNull() )

wasNull() gibt dann zurück ob „SPALTENNAME“ NULL war.

Allerdings kriegst du auch zB mit getString() null zurück, wenn das Feld SQL NULL war, also dasselbe wäre:
if( rs.getString( „SPALTENNAME“ ) == null )

Grüße, Robert

Danke Robert.
Genau so hatte ich es probiert gehabt.
Leider bekomme ich aber folgende Fehlermeldung:
SQLException: [Microsoft][ODBC Driver Manager] Ung³ltiger Cursorstatus.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Leider bekomme ich aber folgende Fehlermeldung:
SQLException: [Microsoft][ODBC Driver Manager] Ung³ltiger
Cursorstatus.

Hmmm, du verwendest die JDBC/ODBC-Bridge von Sun?

Eventuell kommt die bzw. der ODBC-Treiber dahinter mit irgendwas nicht zurecht, soll vorkommen.

Wie schauts mit der zweiten Variante aus, direkt mit der getXXX-Methode abfragen und Return auf null prüfen?

Grüße, Robert

Hmmm, du verwendest die JDBC/ODBC-Bridge von Sun?

Ja. Ganz genau.

Wie schauts mit der zweiten Variante aus, direkt mit der
getXXX-Methode abfragen und Return auf null prüfen?

Leider geht die 2. Variante auch nicht!

Ich habe mir mit einer eigenen Methode Hilfe verschaffen…
Naja, nicht ganz elegant, aber die Zeit ist knapp!

public static boolean isNull(ResultSet _rs, int _iIndex){
try{
String tmp = null;
_rs.next();

//bei Null-Catch-Aufruf!
tmp = _rs.getObject(_iIndex).toString();
if (tmp == null) return true;
return false;
}
catch(Exception e){
return true;
}
}

Hmmmm, sehr seltsam. Da täte ich eher sagen, dass überhaupt kein Datensatz mehr da ist. Prüf mal immer den Rückgabewert von next() (true wenn noch ein Datensatz da ist, sonst false).

Grüße, Robert