Hallo zusammen,
bis vor kurzem habe ich noch ganz gemeingefährlich sowas in meinem Code stehen gehabt:
"INSERT INTO `tablleX` VALUES (" + id +", " + sonstWas + "," + wasOptionales +")";
Hierbei war es egal, ob in wasOptionales was drin stand oder die Variable null war. Es wurde halt das eine oder das andere in die Tabelle geschrieben (Die Spalte ist logischerweise nullable).
Auf Nummer Sicher gehen wollend habe ich die ganzen Statements in PreparedStatements umgewandelt. Also...
INSERT INTO `tablleX` VALUES (?, ?, ?)
Das Problem:
Wenn jetzt z. B. stmt.setInt(3, null) ausgeführt wird, schmeißt der mir eine NullPointer Exception.
Meine Frage ist jetzt:
Muss ich jetzt jedes nullable Feld mit if/else überprüfen um dann ggf. mit setNull() zu arbeiten oder gibt es dafür nicht eine schicke Lösung?
Das wäre auf jeden Fall ganz schön viel Arbeit den kompletten Code deswegen jetzt überarbeiten zu müssen...
Schönen Gruß
oetzi
bis vor kurzem habe ich noch ganz gemeingefährlich sowas in meinem Code stehen gehabt:
"INSERT INTO `tablleX` VALUES (" + id +", " + sonstWas + "," + wasOptionales +")";
Hierbei war es egal, ob in wasOptionales was drin stand oder die Variable null war. Es wurde halt das eine oder das andere in die Tabelle geschrieben (Die Spalte ist logischerweise nullable).
Auf Nummer Sicher gehen wollend habe ich die ganzen Statements in PreparedStatements umgewandelt. Also...
INSERT INTO `tablleX` VALUES (?, ?, ?)
Das Problem:
Wenn jetzt z. B. stmt.setInt(3, null) ausgeführt wird, schmeißt der mir eine NullPointer Exception.
Meine Frage ist jetzt:
Muss ich jetzt jedes nullable Feld mit if/else überprüfen um dann ggf. mit setNull() zu arbeiten oder gibt es dafür nicht eine schicke Lösung?
Das wäre auf jeden Fall ganz schön viel Arbeit den kompletten Code deswegen jetzt überarbeiten zu müssen...
Schönen Gruß
oetzi
Zuletzt bearbeitet von einem Moderator: