Jump to content

Ich habe ein Problem mit MySQL


leluckyyDE
 Share

Recommended Posts

Bei meinem Problem handelt es sich um eine StatsManager-Methode die Asynchron läuft aber leider Fehler macht bzw ich Fehler gemacht habe :( Ich hoffe ihr könnt mir Helfen und ich sehe dann was für dumme Fehler ich gemacht habe. 

Das ist die StatsManager-Methode: https://hastebin.com/egorequhay.java
Das ist die MySQL-Klasse: https://hastebin.com/ojimekazom.java

Ich denke nicht, dass der Fehler in der MySQL-Klasse liegt sondern ich irgendwo einen Fehler in der StatsManager-Methode gemacht habe den ich bisher leider nicht finden konnte.

Ich hoffe so sehr, dass mir hier einer Helfen kann und ich dadurch Lernen kann. 

 

Liebe Grüße: leluckyyDE

Link to comment
Share on other sites

Also pass auf was da los ist:

Wenn du dein ResultSet bei einem SELECT zurückbekommst, ist es noch ganz am Anfang. Du musst dann mit resultSet.next() das erste bzw. auch die nächsten Elemente laden.

Mit resultSet.hasNext() kannst du prüfen, ob noch eine Zeile mit .next() ladbar ist.

Sorry hab was verwechselt. Wenn du next() aufrufst, gibt das ein boolean zurück, das dir anzeigt, ob es noch ein Element gab, das jetzt geladen wurde.

Heisst wenn next() true zurück gibst, kannst du noch Daten abgreifen, sobald es false zurück gibst, ist das ResultSet "hinter" dem letzten Element und es gibt keine Daten mehr.

Link to comment
Share on other sites

vor 4 Minuten schrieb boomer41:

Also pass auf was da los ist:

Wenn du dein ResultSet bei einem SELECT zurückbekommst, ist es noch ganz am Anfang. Du musst dann mit resultSet.next() das erste bzw. auch die nächsten Elemente laden.

Mit resultSet.hasNext() kannst du prüfen, ob noch eine Zeile mit .next() ladbar ist.

Also muss ich nur abfragen ob der resultSet einen next hat?

Link to comment
Share on other sites

Gerade eben schrieb leluckyyDE:

Also muss ich nur abfragen ob der resultSet einen next hat?

Jein so einfach ist das nicht. Datenbanken gehen grundsätzlich davon aus, dass es mehrere Antwortzeilen geben kann.

In deinem Fall würde aber dennoch reichen, einfach next() aufzurufen, bevor du die Daten verwenden willst. Wenn du schauen willst ob überhaupt eine Zeile drin ist, kannst du einfach schauen was für next() zurückkommt.

Link to comment
Share on other sites

Gerade eben schrieb boomer41:

Jein so einfach ist das nicht. Datenbanken gehen grundsätzlich davon aus, dass es mehrere Antwortzeilen geben kann.

In deinem Fall würde aber dennoch reichen, einfach next() aufzurufen, bevor du die Daten verwenden willst. Wenn du schauen willst ob überhaupt eine Zeile drin ist, kannst du einfach schauen was für next() zurückkommt.

Ich musste einfach if (resultSet.next()) {  }  benutzen, also es geht jetzt. DANKE FÜR DEINE HILFE! ❤️

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B