Commit c63768c1 authored by Xiang Li's avatar Xiang Li

Update prog_final.py

parent 9b452bf5
......@@ -301,7 +301,7 @@ def insertChoix():
print("1. Ajouter un nouvel animal")
print("2. Ajouter un nouveau membre du personnel")
print("3. Ajouter un nouveau client")
print("5. Ajouter un nouveau traitement")
print("4. Ajouter un nouveau traitement")
print("\n5. Retourner au menu principal")
print("\nEt en bonus...")
print("6. Ajouter une nouvelle classe")
......@@ -412,11 +412,11 @@ def afficherTable():
for table in tables:
print(table.upper())
print("\n")
table=input("Entrez le nom de la table:")
if not table:
table=input("Entrez le nom de la table: (Enter q pour quitter)")
if table == 'q' or table == 'Q':
break
if table.lower() in tables:
sql="SELECT * FroM "+ table
sql="SELECT * FROM "+ table
os.system('cls' if os.name == 'nt' else 'clear')
afficherSql(sql)
input("\nAppuyez pour continuer...")
......@@ -429,7 +429,6 @@ def update():
choix = 0;
while choix != 3:
os.system('cls' if os.name == 'nt' else 'clear')
sql=""
print("1.Animaux")
print("2.Clients")
print("3.Quitter")
......@@ -458,7 +457,7 @@ def updateAnimal() :
else:
print("Mauvaise Saisie")
input("\nAppuyez pour continuer...")
return false
return False
print("\n Remplissez les champs, laissez un champ vide si vous ne souhaiter pas modifier la valeur\n")
text = input("nom (VARCHAR): ")
......@@ -509,7 +508,7 @@ def updateClient():
else:
print("Mauvaise Saisie")
input("\nAppuyez pour continuer...")
return false
return False
print("\n Remplissez les champs, laissez un champ vide si vous ne souhaiter pas modifier la valeur\n")
text = input("nom (VARCHAR): ")
......@@ -539,6 +538,130 @@ def updateClient():
print("An error occurs, please try again...")
input("\nAppuyez pour continuer...")
return False
##########################################################
####################### DELETE ############################
def ExecuteList(sqls) :
for sql in sqls:
print('SQL: ' + sql)
try:
cur.execute(sql)
except pg.Error as E:
print(E.pgerror)
conn.rollback()
return False
conn.commit()
return True
def deleteClient(idClient):
sqls = []
sqls.append("DELETE FROM Proprietaires WHERE client={};".format(idClient))
sqls.append("DELETE FROM Clients WHERE id={};".format(idClient))
if(ExecuteList(sqls)):
print("Delete Client Succes")
else:
print("Delete Client Fail")
def deletePersonnel(idPersonnel, isVeterinaires=False):
sqls = []
table = 'Assistants'
if(isVeterinaires):
table = 'Veterinaires'
sql = "SELECT id FROM Traitements WHERE veterinaire={};".format(idPersonnel)
cur.execute(sql)
raw = cur.fetchone()
while raw:
sqls.append("DELETE FROM Prescriptions WHERE traitement={}".format(raw[0]))
raw = cur.fetchone()
sqls.append("DELETE FROM Traitements WHERE veterinaire={}".format(idPersonnel))
sqls.append("DELETE FROM {} WHERE id={};".format(table, idPersonnel))
if(ExecuteList(sqls)):
print("Delete {} Succes".format(table))
else:
print("Delete Veterinaire Fail")
def deleteAnimal(idAnimal):
sqls = []
sql = "SELECT id FROM Traitements WHERE animal={};".format(idAnimal)
cur.execute(sql)
raw = cur.fetchone()
while raw:
sqls.append("DELETE FROM Prescriptions WHERE traitement={}".format(raw[0]))
raw = cur.fetchone()
sqls.append("DELETE FROM Proprietaires WHERE animal={};".format(idAnimal))
sqls.append("DELETE FROM Traitements WHERE animal={};".format(idAnimal))
sqls.append("DELETE FROM Animaux WHERE id={};".format(idAnimal))
if(ExecuteList(sqls)):
print("Delete Animal Succes")
else:
print("Delete Animal Fail")
def delete():
while True:
os.system('cls' if os.name == 'nt' else 'clear')
print('*'*30)
print("1.Animaux")
print("2.Clients")
print("3.Veterinaires")
print("4.Assistants")
print("5.Quitter")
print("Entrez votre choix:", end=" ")
choix=input()
if choix=="1":
afficherSql("SELECT * from Animaux")
text = input("Id de l'animal à supprimer : ")
if text :
idAnimal = int(text)
deleteAnimal(idAnimal)
else:
print("Mauvaise Saisie")
input("\nAppuyez pour continuer...")
elif choix=='2':
afficherSql("SELECT * from Clients")
text = input("Id du client à supprimer : ")
if text :
idClient = int(text)
sql = "SELECT animal FROM Proprietaires WHERE client={};".format(idClient)
cur.execute(sql)
results = []
raw = cur.fetchone()
while raw:
results.append(raw[0])
raw = cur.fetchone()
for i in results:
deleteAnimal(i)
deleteClient(idClient)
else:
print("Mauvaise Saisie")
input("\nAppuyez pour continuer...")
elif choix=='3':
afficherSql("SELECT * from Veterinaires;")
text = input("Id du veterinaire à supprimer : ")
if text :
idPersonnel = int(text)
deletePersonnel(idPersonnel,True)
else:
print("Mauvaise Saisie")
input("\nAppuyez pour continuer...")
elif choix=='4':
afficherSql("SELECT * from Assistants;")
text = input("Id du assistant à supprimer : ")
if text :
idPersonnel = int(text)
deletePersonnel(idPersonnel,False)
else:
print("Mauvaise Saisie")
input("\nAppuyez pour continuer...")
elif choix=='5':
break
else :
print("Vous avez entré un choix non valide, veuillez recommencer \n")
Main()
return
##########################################################
####################### MAIN ############################
......@@ -552,7 +675,8 @@ def Main():
print("2.Afficher les statistiques")
print("3.Inserer dans une table")
print("4.Modifier un tuple")
print("\n5.Quitter")
print("5.Supprimer un tuple")
print("\n6.Quitter")
print('*'*30)
print("Entrez votre choix:", end=" ")
choix=input()
......@@ -564,7 +688,9 @@ def Main():
insertChoix()
elif choix=='4':
update()
elif choix=='5' :
elif choix=='5':
delete()
elif choix=='6':
break
else :
print("Vous avez entré un choix non valide, veuillez recommencer \n")
......@@ -572,4 +698,4 @@ def Main():
Main()
\ No newline at end of file
Main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment