Ich habe eine andere Klasse, in der ein Benutzer ein Resort buchen, indem Sie nur die ID des Resorts eingeben. Dann öffnet sich ein neuer JFrame (ConfirmBooking), in dem der Name des Resorts und der Preis pro Nacht auf den Etiketten angezeigt werden. Aber ich bekomme anscheinend einen Fehler, wenn ich versuche, den Namen und den Preis des Resorts aus der SQL-Datenbank zu laden.Kann keine SQL-Daten auf Etiketten anzeigen
Fehler erhalte ich: Exception in thread "AWT-Eventqueue-0" java.lang.NullPointerException
public class ConfirmBooking extends javax.swing.JFrame
{
Connection conn = null;
Statement stat = null;
ResultSet res = null;
Booking B = new Booking();
public ConfirmBooking()
{
initComponents();
String sql = "SELECT RESORT_NAME, COST_PER_NIGHT_ZAR FROM LouwDataBase.Resorts WHERE ID = "+ 2;
try (PreparedStatement pstmt = conn.prepareStatement(sql))
{
try (ResultSet rs = pstmt.executeQuery())
{
if (rs.next())
{
String Name = rs.getString("RESORT_NAME");
double Price = rs.getDouble("COST_PER_NIGHT_ZAR");
String Rands = Double.toString(Price);
ResortName.setText(Name);
ResortPrice.setText("R"+Rands);
}
}
}
catch (SQLException ex)
{
Logger.getLogger(Booking.class.getName()).log(Level.SEVERE, null, ex);
}
}
Mögliches Duplikat von [Was ist eine NullPointerException und wie behebe ich sie?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i) -fix-it) – David
Du initialisierst niemals die 'conn'-Variable. Auch das Ausführen von Datenbankoperationen (oder anderen komplexen E/A) in einem Konstruktor ist wahrscheinlich nicht die beste Idee. – David