Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno [JAVA] a [MySQL] kód který naleze pouze 1 záznam.

Dobrý den, sepisuju plugin přes knihovnu Bukkit. Narazil jsem na problém že v databázi MySQL je 50 záznamů, ale když táhám tak to zobrazí pouze 1.

public HashMap<String, Integer> players = new HashMap<>();

    public void Update() {
        try {
            
            Bukkit.broadcastMessage("Searching two days old users DISABLED!!!");
            Bukkit.broadcastMessage("Executing Update");
            String query = "SELECT *, SUM(cmsg_playerstats.points) AS 'total_points' FROM `cmsg_playerstats` JOIN `cmsg_playersactivity` ON `cmsg_playersactivity`.`user` = `cmsg_playerstats`.`player` ORDER BY 'total_points'";
            Bukkit.broadcastMessage(query);
            DatabaseManager dbman = DatabaseManager.getInstance();
            PreparedStatement st = dbman.createStatement(query);
            ResultSet rs = st.executeQuery(query);
            int rank = 1;
            while(rs.next()) {
                String name = rs.getString("user");
                if(!name.contains("null")) {
                    Bukkit.broadcastMessage(name + " is " + rank);
                    players.put(name, rank);
                    Bukkit.broadcastMessage(name + " added to players with rank " + rank);
                    rank++;
                    Bukkit.broadcastMessage("rank next to " + (rank -1) + " is " + rank);
                    Bukkit.broadcastMessage("players: " + players.toString());
                }
               
            }      
            Bukkit.broadcastMessage("End of While. All Players: " + players.toString());
            Bukkit.broadcastMessage("All Rights Reserved by CzechSurvival. Alias engineer 'siOnzee'.");
            
        } catch( SQLException e){
            e.printStackTrace();
        }
        
    }
    
    public ResultSet query(String query, Statement sta) {
        try {
            if (query.toLowerCase().startsWith("select")) {
                return sta.executeQuery(query);
            } else {
                sta.executeUpdate(query);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
Vysvětlivka:

Bukkit.broadcastMessage(""); == System.out.println("");


Nejde mi do hlavy že když tam je cyklus While, že to vyhledá pouze 1 výsledek.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny