Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:projekt:java_db:java_db_null:start [02.04.2025 16:52] – [Verarbeitung mit Java] Frank Schiebel | faecher:informatik:oberstufe:datenbanken:projekt:java_db:java_db_null:start [03.04.2025 20:36] (aktuell) – [Warum ist das wichtig?] Frank Schiebel | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
Wenn eine Spalte der Datenbank einen '' | Wenn eine Spalte der Datenbank einen '' | ||
- | **Man kann bei Integer Variablen | + | **Man kann bei Integer Variablen |
+ | |||
+ | Um NULL von 0 unterscheiden zu können, gibt es in der Klasse '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Man könnte jetzt also so etwas tun, um das Problem zu umgehen, und den NULL_wert aus der Datenbank in die Java-Variable zu überführen: | ||
+ | |||
+ | <code java> | ||
+ | [...] | ||
+ | int wert = rs.getInt(3); | ||
+ | boolean wasnull = rs.wasNull(); | ||
+ | if(wasnull) { | ||
+ | wert = null; | ||
+ | } | ||
+ | [...] | ||
+ | </ | ||
+ | |||
+ | Allerdings klappt das bei den primitiven Datentypen wie wie '' | ||
+ | |||
+ | Aus diesem Grund muss man bei den primitiven Datentypen die entsprechenden [[faecher: | ||
+ | |||
+ | Eine **korrekte Variante** sieht also so aus: | ||
+ | |||
+ | <code java> | ||
+ | [...] | ||
+ | Integer wert = rs.getInt(3); | ||
+ | if(rs.wasNull()) { | ||
+ | wert = null; | ||
+ | } | ||
+ | [...] | ||
+ | </ | ||
+ | |||
+ | ===== Warum ist das wichtig? ===== | ||
+ | |||
+ | Wenn man die Werte die in einer Datenbank gespeichert sind ausgeben oder verändern möchte, ist es wichtig, zu unterscheiden, | ||
+ | |||
+ | <code java> | ||
+ | ResultSet rs = stm.executeQuery(" | ||
+ | rs.next(); | ||
+ | |||
+ | Integer x = rs.getInt(1); | ||
+ | if (rs.wasNull()) x = null; | ||
+ | |||
+ | […] | ||
+ | |||
+ | if (x == null) { | ||
+ | textBox1.setText(" | ||
+ | } else { | ||
+ | textBox1.setText(x.toString()); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Material ===== | ||
+ | |||
+ | |||
+ | [[https:// |