JAVA - NULL-Wert aus einem ResultSet

Brauche ich, um zu überprüfen, ob ein Wert extrahiert aus einem ResultSet nicht NULL ist, bevor Sie es.
Ich fand diese Lösung

int value = 0;
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
   value = rs.getInt("FIELD");
   if (!rs.wasNull()) {
       //use NOT NULL field value
   }
}

aber ich brauche, um zu überprüfen, den Wert des Feldes direkt, ohne Zuweisung an eine variable, da der Datentyp nicht im Voraus bekannt ist.

Besser erklären, das Ziel, hier mein code:

Method method_one = null, methodResultSet=null;

switch(field_type){
    case "int":
       method_one = clazzAbstractClass.getDeclaredMethod("setValue_INT", short[].class,String.class,int.class);
       break;
   case "float":
       method_one = clazzAbstractClass.getDeclaredMethod("setValue_FLOAT", short[].class,String.class,float.class);
       break;
   case "double":
       method_one = clazzAbstractClass.getDeclaredMethod("setValue_DOUBLE", short[].class,String.class,double.class);
       break;
}

methodResultSet = clazzResultSet.getDeclaredMethod("get"+field_type.substring(0, 1).toUpperCase() + field_type.substring(1), String.class); //e.g. rs.getInt

//current call with NO CHECK on NULL                   
method_one.invoke(my_object, methodResultSet.invoke(rs, FIELD_NAME);

In wenigen Worten, der code wird etwas ähnliches:

my_object.setValue_INT(rs.getInt("FIELD"))

NB: getInt verwendet 0 als default-Wert für NULL-Wert

Mein Ziel ist es, die direkt entweder den WERT des FELDES oder NULL als argument der setValue_INT Funktion.

InformationsquelleAutor Fab | 2017-02-14
Schreibe einen Kommentar