SQL join - NullPointerExeption

sommerschnee

Mitglied
Moin Forum,

ich bin in java noch relativ neu und habe ein Problem mit einer Datenbankabfrage...
Hole ich mir aus einer Tabelle irgendwelche Datensätze funktioniert das Problemlos, versuche ich das ganze über 2 bzw. 3 Tabellen mit einen 'JOIN' bekomme ich eine 'NullPointerExeption'.

Mir ist klar was das bedeutet, nur sehe ich einfach nicht warum!
Vermutlich habe ich irgendwo einen Denkfehler, möglicherweiße kann mir ja jemand ein wenig auf die Sprünge helfen.
Anbei mal die betreffende Funktion:
Java:
    public String[][] selectBrick() {
        
        MySQL.conn = MySQL.getInstance();
        
        if(MySQL.conn != null) {
            
            Statement query;
            
            try {
                query = MySQL.conn.createStatement();
                String sql = "SELECT "
                        + "bricks.id_b, "
                        + "bricks.title, "
                        + "bricks.brick, "
                        + "bricks_language.iso"
                        + "bricks_language.brick_language "
                        + "FROM "
                        + "bricks "
                        + "LEFT JOIN bricks_language "
                        + "ON bricks.id_b = bricks_language.id_b "
                        + "LEFT JOIN markets_bricks "
                        + "ON bricks.id_b = markets_bricks.id_b";
                
                ResultSet rs = query.executeQuery(sql);
                
                ArrayList<String[]> list = new ArrayList<String[]>();
                
                while(rs.next()) {
                    String[] array = {
                        rs.getString("bricks.id_b"),
                        rs.getString("bricks.title"),
                        rs.getString("bricks.brick"),
                        rs.getString("bricks_language.iso"),
                        rs.getString("bricks_language.brick_language")
                    };
                    list.add(array);
                }
                String[][] result = new String[list.size()][];
                return list.toArray(result);
                
            } catch(SQLException ex) {
                ex.getMessage();
            }
        }
        return null;
    }

Ich bin auch sonst für jede Anregung sehr dankbar....

Vielen Dank schon mal im voraus

Gruß Markus
 
Ich sehe mindestens ein fehlendes "," in deinem Query. Das wird beim execute zu einem Fehler führen, was Du wiederum nicht abfragst sondern ganz mutig mit dem rs weiter arbeitest, welches aber dummerweise dann NULL ist.

Also erstmal vernpünftige Fehlerabfrage rein und dann den Query richten

Gruß

Claus
 
Und wo genau passiert der Fehler? Wir können zwar raten, viele von uns wollen aber nicht 😉
Der StackTrace der Exception verrät genau wo der Fehler passiert, dort sollte man auch ansetzen bei der Fehlersuche:
Wo wird entsprechendes Objekt erstellt? Wo wird es befüllt/initialisiert? ......
 

Neue Themen


Zurück
Oben