From 018ffd987df2a2cb4e77a453eb6c723a1fc50eb8 Mon Sep 17 00:00:00 2001 From: maxlm128 Date: Thu, 24 Mar 2022 23:41:45 +0100 Subject: [PATCH] =?UTF-8?q?Fehler=20teilweise=20gefixt=20,=20Sachen=20hinz?= =?UTF-8?q?ugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Query.java | 27 +++++++++------------------ WordleServer.java | 1 + 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/Query.java b/Query.java index 30c2cf6..ded86a6 100644 --- a/Query.java +++ b/Query.java @@ -5,14 +5,6 @@ public class Query { db = new DatabaseConnector("", 0, "wordle.db", "", ""); } - - //TODO: - public Game pullRunngingGame(){ - return null; - } - //TODO: - public void pushRunningGame(){} - /** * Speichert die Daten des Users aus der Datenbank auf dem User-Objekt * @@ -20,7 +12,7 @@ public class Query { */ public void pullStats(User user) { String[][] r; - db.executeStatement("SELECT * FROM user WHERE user LIKE" + user.getUsername()); + db.executeStatement("SELECT * FROM user WHERE user LIKE '"+ user.getUsername() + "'"); r = db.getCurrentQueryResult().getData(); user.setCurrentStreak(Integer.parseInt(r[1][0])); user.setMaxStreak(Integer.parseInt(r[2][0])); @@ -54,13 +46,13 @@ public class Query { + Integer.toString(user.getTimesPlayed()) + Integer.toString(user.getWonInTurnIndex(0)) + Integer.toString(user.getWonInTurnIndex(1)) + Integer.toString(user.getWonInTurnIndex(2)) + Integer.toString(user.getWonInTurnIndex(3)) + Integer.toString(user.getWonInTurnIndex(4)) - + Integer.toString(user.getWonInTurnIndex(5)) + Integer.toString(user.getLastDayWOTDPlayed()) + ")" + - "WHERE user_username LIKE \"" + user.getUsername()+"\""); + + Integer.toString(user.getWonInTurnIndex(5)) + Integer.toString(user.getLastDayWOTDPlayed()) + ")" + + "WHERE user_username LIKE \"" + user.getUsername() + "\""); } /** - * �berpr�ft ob es den Username und das Passwort in der Datenbank gibt und gibt - * den Erfolg als Boolean zur�ck + * �berpr�ft ob es den Username und das Passwort in der Datenbank gibt und + * gibt den Erfolg als Boolean zur�ck * * @param username * @param password @@ -68,12 +60,11 @@ public class Query { */ public boolean checkLogin(String username, String password) { // TODO: testen und vllt korrigieren - db.executeStatement("SELECT username, passwort FROM user " + - "WHERE username LIKE \""+username+"\" " + - "AND passwort LIKE \""+password+"\""); + db.executeStatement("SELECT 1 FROM user WHERE username LIKE \"" + username + "\" " + "AND passwort LIKE \"" + + password + "\""); QueryResult r = db.getCurrentQueryResult(); - System.out.println(r.getRowCount()); - if(r.getRowCount()== 1){ + System.out.println(db.getErrorMessage()); + if (r != null && r.getRowCount() == 1) { return true; } else { return false; diff --git a/WordleServer.java b/WordleServer.java index 54686f3..27e9e00 100644 --- a/WordleServer.java +++ b/WordleServer.java @@ -73,6 +73,7 @@ public class WordleServer extends Server { if (u.getPassword() != null && u.getUsername() != null) { if (query.checkLogin(u.getUsername(), u.getPassword())) { send(pClientIP, pClientPort, "+OK welcome"); + query.pullStats(u); } else { u.setPassword(""); u.setUsername("");