Ich bin neu in Java und JDBC. Ich versuche, einen doppelten Wert von einer Datenbank über JDBC zu erhalten und eine globale Variable zu diesem Wert zu machen. Hier ist was ich getan habe.JDBC getDouble liefert 0.0
public class Console {
String sql;
Statement stmt;
Connection conn;
ResultSet rs;
//Category Total
public static double num;
public Console(){
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database?autoReconnect=true&useSSL=false","user","password");
stmt = conn.createStatement();
System.out.println("Connected database successfully...");
sql = "SELECT sum(a) FROM table";
while(rs.next()) {
rs = stmt.executeQuery(sql);
num = rs.getDouble("sum(a)");
}
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
System.out.println(num);
}
}
Wenn ich das Programm laufen druckt 0,0 obwohl der tatsächliche Wert nicht.
Ich denke, das nicht nur 0.0 gibt, druckt es auch einen Stack-Trace wegen einer NullPointerException. Sie haben dieses Detail verpasst, und das hätte Ihnen auch einen Hinweis gegeben, das Problem selbst zu finden. – brummfondel