Ajouter des éléments dans une table déjà créer

Fermé
nathan - 31 janv. 2023 à 10:36
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 14 novembre 2024 - 31 janv. 2023 à 15:14

Bonjour,

j'aimerais ajouter des éléments dans une table déjà créer; dont sur les champs(ou cellule) d'un identifiant certains champs sont remplie premièrement et mois j'aimerais remplir les autres champs du même identifiant mais ça remplace ce qui etait la

voici le code

# Creation de la base de donnée
import sqlite3 as sq
con=sq.connect("administration.db")
ledfy=con.cursor()
ledfy.execute("create table if not exists table_donnee (chambre str NOT NULL primary key , Nom str NOT NULL,Prenom str NOT NULL,Password str NOT NULL,portable int NOT NULL,montant int ,N_payement text, Date_payement text) ")
ledfy.row_factory = sq.Row
con.commit()

class Gestion_loyer():
    def __init__(self,c):
        self.compteur=c
        
    def menu_not_connected(self):
        print("Bienvenue dans notre entreprise.")
        print("Veillez faire un choix d'option.")
        print("1.enregistrer")
        print("2.payement")
        print("3.moratoire")
        print("4.quitter")
        while True:
            choix=int(input())
            if choix==1:
                self.Enregistrement()
                break
            elif choix==2:
                self.payement()
                break
            elif choix==3:
                self.moratoire()
                break
            elif choix==4:
                self.quitter()
                break
            else:
                print("choix non disponible")
                continue
            
        
    def Enregistrement(self):
        for i in range(self.compteur):
            print("____Enregistrement____")
            nom=input("Nom: ")
            prenom=input("Prenom: ")
            password=input("Password: ")
            n_chambre=input("N°de_chambre: ")
            n_telephone=int(input("N°de_telephone: "))
            djag=f"INSERT or REPLACE INTO  table_donnee (chambre,Nom, Prenom, Password, portable) VALUES (?,?,?,?,?)"
            ledfy.execute(djag,(n_chambre,nom,prenom,password,n_telephone,))
            con.commit()  
            self.menu_not_connected()
            


    def payement(self):
        print("__Payements__")
        nom=input("Entrer votre Nom:  ")
        chambre=input("Entrer votre N°de_chambre:  ")
        password=input("Entrer votre mot de passe:  ")
        
        
        if self.bedroom_exist__with(chambre) and password == self.password(chambre):
            
            affiche=int(input("\nTapez 1 pour faire un versement \nTapez 2 pour avoir lhistorique de versement\n"))
            
            if affiche==1:
                date_payement=input("Entrez la date de versement (JJ/MM/AA):  ")
                montant= int(input(f"Mr/Mme {nom} veillez entrer le montant du versement: "))
                if montant<20000:
                    print("\nMontant inferieur au montant minimal pour une chambre. Allez prendre un moratoire\n\n")
                elif montant>=20000:
                    N_payement=input("\nEntrer le numero de compte du versement pour authentification\n\n")
                    djag=f"INSERT or REPLACE INTO  table_donnee (chambre,montant,N_payement,date_payement) VALUES (?,?,?,?)"
                    ledfy.execute(djag,(chambre,montant,N_payement,date_payement,))  
                    print("Merci pour la confiance et bienvenue chez nous\n\n")
                    con.commit()  
            elif affiche==2:
                print("Ca n'a pas encore été developpé")
            else:
                print("Choix non disponible \n\n")
        else:
            print("Erreur de mot de passe\n\n")
            
        self.menu_not_connected()
        

    def moratoire(self):
        print("__REQUETE__")
        nom=input("Entrez votre nom: ")
        n_chambre=input("Entrez le numero de la chambre: ")
        periode=input("Entrez la date que vous souhaitez(JJ/MM/AA): ")
        numero=int(input("Entrez votre numero de telephone: "))
        print(f"""          Bonjour Mr/Mme je suis {nom} de la chambre {n_chambre};
        je viens auprès de vous pour avoir votre accord par rapport à la date de mon versement.
        En effet j'aimerais le repousser au {periode} pour faute de moyen uniquement pour cette fois.
        Dans l'attente d'une suite favorable, voici mon numero pour une quelconque reponse {numero}.\n\n""")
        self.menu_not_connected()
        
    def quitter(self):
        
        print("Aurevoir\n")
            
            
    def password(self,chambre)-> str:
        djag=f"SELECT Password FROM table_donnee WHERE chambre=?;"
        ledfy.execute(djag,(chambre,))
        p=ledfy.fetchall()
        return dict(p[0])["Password"]
    
    def bedroom_exist__with(self,chambre)->bool:
        djag=f"SELECT * FROM table_donnee WHERE chambre=?;"
        ledfy.execute(djag,(chambre,))
        p=ledfy.fetchall()
        return len(p)==1
    
con.commit()      
c=Gestion_loyer(1)
c.menu_not_connected()
 


Windows / Opera 94.0.0.0

A voir également:

2 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 31 janv. 2023 à 10:41

Bonjour,

on y verrait plus clair si tu affichais ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Visuellement, ça doit ressembler à ça:

for k in range(10):
    print(k)

"certains champs sont remplie premièrement" ?

c'est quoi ça ?

0
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 14 novembre 2024 Ambassadeur 1 549
31 janv. 2023 à 15:14

bonjour,

peut-être pourrais-tu utiliser "UPDATE".

0