faecher:informatik:oberstufe:datenbanken:projekt:java_db:java_db_null:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

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 17:07] – [Verarbeitung mit Java] Frank Schiebelfaecher:informatik:oberstufe:datenbanken:projekt:java_db:java_db_null:start [03.04.2025 20:36] (aktuell) – [Warum ist das wichtig?] Frank Schiebel
Zeile 39: Zeile 39:
 </code> </code>
  
-Allerdings klappt das bei den primitiven Datentypen nicht +Allerdings klappt das bei den primitiven Datentypen wie  wie ''int'', ''char'', ''double'' u.ä. nicht, da diese keine Objekte sind und darum nicht ''null'' sein können. 
 + 
 +Aus diesem Grund muss man bei den primitiven Datentypen die entsprechenden [[faecher:informatik:oberstufe:java:algorithmen:assoziative_arrays:start#anmerkung_zu_wrapper-klassen|Wrapper-Klassen]] verwenden - also ''Integer'', ''Character'', ''Double'' und Co. 
 + 
 +Eine **korrekte Variante** sieht also so aus: 
 + 
 +<code java> 
 +[...] 
 +Integer wert = rs.getInt(3);   // → 0, aber in der DB NULL! 
 +if(rs.wasNull()) { 
 +  wert = null; 
 +
 +[...] 
 +</code> 
 + 
 +===== 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, ob ein Information nicht vorhanden war oder obn der Wert 0 in der Datenbank gespeichert war. wenn man beispielsweise die Textfelder einer GUI mit werten aus eine Datenbank befüllen möchte, könnte das so aussehen: 
 + 
 +<code java> 
 +ResultSet rs = stm.executeQuery("…"); 
 +rs.next(); 
 + 
 +Integer x = rs.getInt(1); 
 +if (rs.wasNull()) x = null; 
 + 
 +[…] 
 + 
 +if (x == null) { 
 +  textBox1.setText("Kein Wert in der DB vorhanden"); 
 +} else { 
 +  textBox1.setText(x.toString()); 
 +
 +</code> 
 + 
 +===== Material ===== 
 +  
 + 
 +[[https://slides.info-bw.de/fs-wiki-java-db-03/|Präsentation - NULL-Werte]] [[https://slides.info-bw.de/fs-wiki-java-db-03/?print-pdf|(PDF)]]((Link öffnen, dann aus dem Browser in ein PDF drucken)) 
  • faecher/informatik/oberstufe/datenbanken/projekt/java_db/java_db_null/start.1743613644.txt.gz
  • Zuletzt geändert: 02.04.2025 17:07
  • von Frank Schiebel