Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Plugin - problem z bazą danych.


parys95

Rekomendowane odpowiedzi

Opublikowano

Dlaczego wywala taki błąd???

 

public static Integer GetPlayerCoins(String nick){
    int i = 0;
    try {
        ResultSet rs = Main.mysql.query("SELECT * FROM Baza WHERE Nick='"+nick+"'");
        if(rs.next()){   ----------------------------------------------------------------------------------------  54 linijka
            i = rs.getInt("Coins");
        }
    } catch (SQLException e) {
        System.out.println("[baza] Blad: " + e.getMessage());
    }    
    return i;
}



Blad:

Caused by: java.lang.NullPointerException
at me.redo.castle.SQLSet.GetPlayer(SQLSet.java:54) ~[?:?]
at me.redo.castle.SQLSet.addPlayer(SQLSet.java:102) ~[?:?]
at me.redo.castle.ArenaData.CoinsAddPodbicie(ArenaData.java:244) ~[?:?]
at me.redo.castle.event.EMovePlayer.onMovePlayer(EMovePlayer.java:71) ~[?:?]
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_76]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_76]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
... 14 more

Opublikowano

Teraz taki blad

 

at me.redo.castle.SQLSet.GetPlayer(SQLSet.java:54) ~[?:?]
at me.redo.castle.SQLSet.addPlayer(SQLSet.java:102) ~[?:?]
at me.redo.castle.ArenaData.CoinsAdd3min(ArenaData.java:220) ~[?:?]
at me.redo.castle.runnable.TimerRunnable.run(TimerRunnable.java:20) ~[?:?]
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:58) ~[craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:614) [craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]


Kod:
public static Integer GetPlayerCoins(String nick){
    int i = 0;
    try {
        ResultSet rs = Main.mysql.query("SELECT * FROM Baza WHERE Nick='"+nick+"'");
        if(rs.next() && Integer.valueOf(rs.getInt("Coins")) != null){    ------------------       54
            i = rs.getInt("Coins");
        }
    } catch (SQLException e) {
        System.out.println("[baza] Blad: " + e.getMessage());
    }    
    return i;
}

Opublikowano

ale nie podales treści błędu...

I naucz się czytac te błędy, nikt za ciebie tego robić do końca życia nie będzie.

a po 2... to nie ma sensu

rs.getInt("Coins")

zwraca int, więc potem pakowanie tego w Integer nagle nie sprawi że tam może być null.

to zwraca int, nie nulla.

i jeśli w bazie istnieje kolumna "Coins" i ją pobierasz to rs.getInt nie ma prawa dać nulla, chyba że samo "rs" jest nullem.

1438614356923701010629.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...