import sqlite3 from utils import print_table db = sqlite3.connect('ecole.sqlite3') cursor = db.cursor() cursor.execute("""CREATE TABLE IF NOT EXISTS eleves( ID_Eleve INTEGER PRIMARY KEY AUTOINCREMENT, Prenom TEXT, Nom TEXT, UNIQUE (Prenom, Nom)); """) while True: choix = input("\nVeuillez choisir une action à réaliser [A]jouter, [L]ister, " \ "[M]odifier, [S]upprimer, [Q]uitter : ") if choix == "": continue if choix[0] in 'lL': cursor.execute("""SELECT * FROM eleves ORDER BY ID_eleve;""") liste_eleves = cursor.fetchall() titres = ['Id', 'Prénom', 'Nom'] liste_eleves.insert(0, titres) print_table(liste_eleves) if choix[0] in 'aA': prenom = input("\nVeuillez entrer un prenom : ").capitalize() nom = input("Veuillez entrer un nom : ").upper() if prenom=="" or nom=="": print('Vous devez renseigner le nom et le prénom') continue else: try: cursor.execute("""INSERT INTO eleves(prenom, nom) VALUES(?,?);""", (prenom, nom)) db.commit() except sqlite3.IntegrityError: print(f"{prenom} {nom} existe déjà dans la base de données") if choix[0] in 'mM': id_eleve = input("Veuillez entrez l'identifiant de l'élève à modifier : ") cursor.execute("""SELECT prenom, nom FROM eleves WHERE ID_Eleve=?""", (id_eleve,)) prenom, nom = cursor.fetchone() n_prenom = input(f"\nVeuillez entrer un prenom (actuellement {prenom}): ") n_nom = input(f"Veuillez entrer un nom (actuellement {nom}): ") if n_prenom: prenom = n_prenom if n_nom: nom = n_nom try: cursor.execute("""UPDATE eleves SET prenom=?, nom=? WHERE ID_Eleve=?;""", (prenom.capitalize(), nom.upper(), id_eleve)) db.commit() except sqlite3.IntegrityError: print(f"{prenom} {nom} existe déjà dans la base de données") if choix[0] in 'sS': id_eleve = input("Veuillez entrez l'identifiant de l'élève à supprimer : ") cursor.execute("""SELECT prenom, nom FROM eleves WHERE ID_Eleve=?""", (id_eleve,)) prenom, nom = cursor.fetchone() confirmation = input(f"Confirmez-vous la suppression de {prenom} {nom} ? [O/n] : ") if not confirmation=='n': cursor.execute("""DELETE FROM eleves WHERE ID_Eleve=?""",(id_eleve,)) db.commit() if choix[0] in 'qQ': break print('Bye !') db.close()