null über ein Integerfeld in ein Numberfeld in Oracle schrei

  • Themenstarter Themenstarter DerW
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
D

DerW

Gast
Hallo!
Ich hab folgendes Problem!
Ich importiere über eine Exceltabelle Daten.
In einem Feld kann eine zahl stehen, oder auch gar nichts!
Wenn nichts drinsteht, dann soll er einfach null in die DB schreiben.
Mit dieser Abfrage bekomme ich aber eine Fehlermeldung:
null (java.lang.numberformatexception)
Code:
if (token [28] !=null && !token[28].equals(""))
    	wp.setPeriode(new Integer(token[28]));//Periode
    else
    	
    	wp.setPeriode(new Integer(null));

Ich dachte immer null wäre auch für ein number Feld gültig!
Ich bin für jede Hilfe dankbar!
 
naja du versuchst aus "null" nen Integer zu basteln dat wird wohl nicht klappen "0" würde funktionieren
 
Jo es gibt nur die beiden Kontruktoren :

Integer(int value)
Constructs a newly allocated Integer object that represents the specified int value.
Integer(String s)
Constructs a newly allocated Integer object that represents the int value indicated by the String parameter.
also "0" oder ""0"" 😉

"null" isn bissel wan deres siehe hier
In Java gibt es das spezielle Literal null, das anzeigt, dass eine Referenzvariable auf kein Objekt verweist. Der Wert ist nur für Referenzen vorgesehen und kann nicht in einen primitiven Typ wie die Ganzzahl 0 umgewandelt werden.1 Die null-Referenz ist typenlos, das heißt, sie kann jedem Objekt zugewiesen werden und jeder Funktion übergeben werden, die ein Objekt erwartet.
 
Das ist net nur in Java so, das is allg so!

Ein Objekt an sich selber kann null sein (wie String, Object, Integer, etc)

Aber der Wert einer Zahl oder boolean kann nie null sein!!

boolean is ja logisch, kann nur ja oder nein (true/false) sein und bei einer Zahl wenn man nachdenkt auch!

Da null net wirklich 0 ist, kann eine Zahl auch net null sein!

Bei Oracle (weiß net ob das allg. bei SQL ist) muss man sogar extra abfragen!

Wenn eine Zahl 0 ist, schaut die Abfrage so ist

Select * from zahlen where leit_zahl = 0;

wäre, leit_zahl aber null, würde das net gehn, bzw die null nicht zurückbringen!

Da müsste man so abfragen

Select * from zahlen where leit_zahl is null;


Das allg. mal zu dem Thema null 🙂
 
Hallo!
Ich habs mir jetzt so einfach gemacht!
Ich den else-Teil weggelassen, da noch weitere Felder importiert werden.
So überspringt dann dieses Feld, und schreibt nichts in die DB!
So wie ich es wollte!
Trotzdem Danke für die Antworten.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben