Fehler gefixt

Hat mir die Nacht gekostet
This commit is contained in:
2022-03-26 00:34:14 +01:00
parent 1a966b285f
commit 6eb5f59b50
4 changed files with 114 additions and 49 deletions

View File

@@ -16,11 +16,11 @@ public class Query {
*/
public void pullStats(User user) {
String[][] r;
db.executeStatement("SELECT * FROM Stats " + "INNER JOIN won_on_n " + "ON Stats.ID = won_on_n.Stats_ID "
+ "INNER JOIN last_Game " + "ON Stats.ID = last_Game.Stats_ID " + "WHERE user_username = '"
+ user.getUsername() + "'");
db.executeStatement("SELECT * FROM Stats INNER JOIN won_on_n ON Stats.ID = won_on_n.Stats_ID "
+ "INNER JOIN last_Game ON Stats.ID = last_Game.Stats_ID WHERE user_username = '" + user.getUsername()
+ "'");
r = db.getCurrentQueryResult().getData();
if (r != null && r.length != 0 && r[0].length == 21) {
if (r != null && r.length != 0 && r[0].length == 22) {
user.setCurrentStreak(Integer.parseInt(r[0][2]));
user.setMaxStreak(Integer.parseInt(r[0][3]));
user.setWinPercentage(Float.parseFloat(r[0][4]));
@@ -36,13 +36,15 @@ public class Query {
}
for (int i = 0; i < 5; i++) {
try {
user.setWonInTurnIndex(Integer.parseInt(r[0][8 + i]), i);
} catch (NumberFormatException e) {
user.getGame().setGuessesIndex(r[0][15 + i], i);
}
user.getGame().setGuessesIndex(r[0][15 + i], i);
}
user.getGame().setWord(r[0][20]);
try {
user.getGame().setIsWOTD(Integer.parseInt(r[0][21]));
} catch (NumberFormatException e) {
user.getGame().setIsWOTD(0);
}
} else {
System.out.println("Fehler beim Abfragen der Daten für den User " + user.getUsername());
}
@@ -64,12 +66,12 @@ public class Query {
+ user.getWonInTurnIndex(5)
+ " WHERE Stats_ID IN( SELECT user_username FROM Stats WHERE user_username LIKE '" + user.getUsername()
+ "')");
db.executeStatement("UPDATE last_Game SET last_guess_1 = " + user.getGame().getGuessIndex(0) + ", last_guess_2 = "
+ user.getGame().getGuessIndex(1) + ", last_guess_3 = " + user.getGame().getGuessIndex(2)
+ ", last_guess_4 = " + user.getGame().getGuessIndex(3) + ", last_guess_5 = "
+ user.getGame().getGuessIndex(4) + ", word = " + user.getGame().getWord()
+ " WHERE Stats_ID IN( SELECT user_username FROM Stats WHERE user_username LIKE '" + user.getUsername()
+ "')");
db.executeStatement("UPDATE last_Game SET last_guess_1 = " + user.getGame().getGuessIndex(0)
+ ", last_guess_2 = " + user.getGame().getGuessIndex(1) + ", last_guess_3 = "
+ user.getGame().getGuessIndex(2) + ", last_guess_4 = " + user.getGame().getGuessIndex(3)
+ ", last_guess_5 = " + user.getGame().getGuessIndex(4) + ", word = " + user.getGame().getWord()
+ ", isWOTD = " + user.getGame().getIsWOTD()
+ " WHERE Stats_ID IN( SELECT ID FROM Stats WHERE user_username LIKE '" + user.getUsername() + "')");
}
/**
@@ -105,13 +107,14 @@ public class Query {
/**
* Gibt das Wordle des Tages, welches aus der Datenbank stammt, zur�ck. Ergibt
* pro Tag immer das gleiche Wordle, aber trotzdem für jeden neuen Tag ein anderes Wort
* pro Tag immer das gleiche Wordle, aber trotzdem für jeden neuen Tag ein
* anderes Wort
*
* @return Das Wort als String
*/
public String getWOTD() {
db.executeStatement("SELECT COUNT(*) FROM words");
String [][] r = db.getCurrentQueryResult().getData();
String[][] r = db.getCurrentQueryResult().getData();
int words = Integer.parseInt(r[0][0]);
Random random = new Random();
random.setSeed((int) ChronoUnit.DAYS.between(LocalDate.ofEpochDay(0), LocalDate.now()));