ajout de toutes les données dans la bdd + Modularisation de l'écran fin de partie

This commit is contained in:
tit-exe
2026-03-17 14:11:55 +01:00
parent dbafa23b4d
commit 9ec6f0ebfa
5 changed files with 85 additions and 68 deletions

View File

@@ -4,47 +4,19 @@ import java.sql.*;
public class GestionnaireScore {
private static final String URL = "jdbc:sqlite:linea_scores.db";
private static final String URL = "jdbc:sqlite:linea_bdd.db";
public GestionnaireScore() {
// 1) Charger explicitement le driver SQLite JDBC
try {
Class.forName("org.sqlite.JDBC");
System.out.println("[BDD] Driver SQLite JDBC chargé correctement (org.sqlite.JDBC).");
} catch (ClassNotFoundException e) {
System.err.println("[BDD] ERREUR : impossible de charger le driver SQLite JDBC (org.sqlite.JDBC).");
System.err.println("Vérifie que le fichier sqlite-jdbc-xxx.jar est bien présent dans le classpath.");
e.printStackTrace();
}
// 2) Créer / vérifier la table au démarrage
try (Connection conn = DriverManager.getConnection(URL)) {
if (conn == null) {
System.err.println("[BDD] ERREUR : connexion JDBC nulle lors de l'initialisation.");
return;
}
String sql = "CREATE TABLE IF NOT EXISTS scores (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT," +
"nom TEXT NOT NULL," +
"points INTEGER NOT NULL" +
");";
try (Statement stmt = conn.createStatement()) {
stmt.execute(sql);
}
System.out.println("[BDD] Table 'scores' vérifiée/créée avec succès.");
} catch (SQLException e) {
System.err.println("[BDD] ERREUR SQL lors de la création ou vérification de la table 'scores'.");
System.err.println("Message SQL : " + e.getMessage());
System.err.println("[BDD] Impossible de charger le driver SQLite.");
e.printStackTrace();
}
}
public void sauvegarderScore(String nom, int points) {
if (nom == null || nom.trim().isEmpty()) {
System.err.println("[BDD] Tentative d'enregistrer un score avec un nom vide. Opération annulée.");
return;
}
@@ -55,13 +27,10 @@ public class GestionnaireScore {
pstmt.setString(1, nom.trim());
pstmt.setInt(2, points);
int lignes = pstmt.executeUpdate();
pstmt.executeUpdate();
System.out.println("[BDD] Score enregistré pour '" + nom + "' (" + points +
" points). Lignes affectées : " + lignes);
} catch (SQLException e) {
System.err.println("[BDD] ERREUR SQL lors de l'enregistrement du score.");
System.err.println("Message SQL : " + e.getMessage());
System.err.println("[BDD] Erreur lors de l'enregistrement du score.");
e.printStackTrace();
}
}
@@ -89,13 +58,9 @@ public class GestionnaireScore {
}
} catch (SQLException e) {
System.err.println("[BDD] ERREUR SQL lors de la lecture des scores.");
System.err.println("Message SQL : " + e.getMessage());
System.err.println("[BDD] Erreur lors de la lecture des scores.");
e.printStackTrace();
return "Erreur lors de la lecture des scores.\n" +
"Détail : " + e.getMessage() + "\n" +
"Consulte la console pour la pile complète (stack trace).";
return "Erreur lors de la lecture des scores.";
}
return sb.toString();