IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

UPDATE database sqlite 3 [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Passionné
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Passionné

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Par défaut UPDATE database sqlite 3
    Bonjour a tous , je suis nouveau dans le monde merveilleux du codage , je n'ai pas beaucoup de connaissances , j'essaye de me faire un logiciel ,ça fait des semaines que je bloque au nivaux de la base e donnée "UPDATE" , j'ai KeyError: 'Comp_Adresse' ligne 54,55,57,58 sur toutes les lignes avec un tiret bas , et quant ça exécute la modification en mettant ses lignes en commentaire ça me modifie tous les lignes de la base de données .
    je n'arrive pas a trouver une solution , quelqu'un peut me donner un coup de pouce , je rappel je suis vraiment un débutant .
    merci d'avance .


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    from PyQt5 import uic
    from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow, QMessageBox, QTableWidgetItem, QComboBox
    import sys
    import sqlite3
     
    conn = sqlite3.connect(r"information.db")
    curs = conn.cursor()
    curs.execute("""CREATE TABLE IF NOT EXISTS information (nom text , prenom text , adresse text ,
     comp_adresse text , cp text , ville text , tel_fix text , tel_por text , email text)""")
     
     
    class MainApp(QMainWindow):
        def  __init__(self,parent=None):
            super(MainApp,self).__init__(parent)
            self.ui = uic.loadUi('mes_clients.ui')
            self.ui.show()
            self.load_Database()
            self.Init_Ui()
            self.data = {}
     
     
        def Init_Ui(self):
            self.ui.pushButton_3.clicked.connect(self.show_ajouter_client)
            self.ui.pushButton.clicked.connect(self.Delete_data)
            self.ui.pushButton_2.clicked.connect(self.quitter)
            self.ui.pushButton_4.clicked.connect(self.show_modifier_client)
     
     
        def quitter(self): 
            self.ui.close()                           
     
        def show_ajouter_client(self):
            self.ajouter = uic.loadUi('ajouter_client.ui')
            self.ajouter.show()
            self.ajouter.pushButton.clicked.connect(self.ajouter_un_client)
     
     
     
        def show_modifier_client(self):
            self.modifier = uic.loadUi('modifier_client.ui')
            self.modifier.show()
     
     
            for i in range(self.ui.tableWidget.columnCount()):
                idx = self.ui.tableWidget.item(self.ui.tableWidget.currentRow(), i).text()
                cul_name = self.ui.tableWidget.horizontalHeaderItem(i).text()
                self.data[cul_name] = idx
     
            self.modifier.lineEdit.setText(self.data['Nom'])
            self.modifier.lineEdit_2.setText(self.data['Prenom'])
            self.modifier.lineEdit_3.setText(self.data['Adresse'])
            self.modifier.lineEdit_4.setText(self.data['Comp_Adresse'])
            self.modifier.lineEdit_5.setText(self.data['Code_postal'])
            self.modifier.lineEdit_6.setText(self.data['Ville'])
            self.modifier.lineEdit_7.setText(self.data['Tel_fixe'])
            self.modifier.lineEdit_8.setText(self.data['Tel_Portable'])
            self.modifier.lineEdit_9.setText(self.data['Email'])
     
            self.modifier.pushButton.clicked.connect(self.on_update_submit)
     
     
     
        def on_update_submit(self):
     
            Nom = self.modifier.lineEdit.text()
            Prenom = self.modifier.lineEdit_2.text()
            Adresse = self.modifier.lineEdit_3.text()
            Comp_Adresse = self.modifier.lineEdit_4.text()
            Code_postal = self.modifier.lineEdit_5.text()
            Ville = self.modifier.lineEdit_6.text()
            Tel_fixe = self.modifier.lineEdit_7.text()
            Tel_Portable = self.modifier.lineEdit_8.text()
            Email = self.modifier.lineEdit_9.text()
     
            list_data = []
            list_data.append(Nom)
            list_data.append(Prenom)
            list_data.append(Adresse)
            list_data.append(Comp_Adresse)
            list_data.append(Code_postal)
            list_data.append(Ville)
            list_data.append(Tel_fixe)
            list_data.append(Tel_Portable)
            list_data.append(Email)
            quary = """UPDATE information SET nom ='{}', prenom ='{}',
                    adresse ='{}', comp_adresse ='{}', cp ='{}', ville = '{}',
                    tel_fix = '{}', tel_por = '{}',
                    email = '{}'""".format(Nom,
                    Prenom, Adresse,Comp_Adresse, 
                    Code_postal, Ville, Tel_fixe, Tel_Portable, Email)
            curs.execute(quary)
            conn.commit()
            conn.close()
            for i in range(self.ui.tableWidget.columnCount()):
                self.ui.tableWidget.item(self.ui.tableWidget.currentRow(), i).setText(list_data[i])
            self.modifier.close()
     
        def ajouter_un_client(self):
     
            # print("c_civilitee", c_civilitee)
            n_nom = self.ajouter.lineEdit.text() 
            p_prenom = self.ajouter.lineEdit_2.text()
            a_adresse = self.ajouter.lineEdit_3.text()
            c_comp_adress = self.ajouter.lineEdit_4.text()
            c_code_pos = self.ajouter.lineEdit_5.text()
            v_ville = self.ajouter.lineEdit_6.text()
            t_tel_fixe = self.ajouter.lineEdit_7.text()
            t_tel_port = self.ajouter.lineEdit_8.text()
            e_email = self.ajouter.lineEdit_9.text() 
     
            if n_nom.strip(" ") != "": 
                try :
                    curs.execute("""INSERT INTO information (nom,prenom,adresse,comp_adresse,cp,ville,
                    tel_fix,
                    tel_por,
                    email)VALUES(?,?,?,?,?,?,?,?,?)""" , (n_nom,p_prenom,a_adresse,c_comp_adress,c_code_pos,v_ville,
                    t_tel_fixe,
                    t_tel_port,
                    e_email))
     
                    conn.commit()
                    self.load_Database()
                    self.ajouter.close()
                except Exception as error  :
     
                    print(error)
            else:
                self.message_erreur_remplissage()    
     
        def message_erreur_remplissage(self):
            msg = QMessageBox()
            msg.setWindowTitle("Erreur")
            msg.setText("Veuillez remplir les champs obligatoire")
            msg.setIcon(QMessageBox.Warning)
            msg.setStandardButtons(QMessageBox.Cancel)
            msg.exec_()
     
     
     
        def Delete_data(self):
            content = "SELECT * FROM information"
            res = conn.execute(content)  
            for row in enumerate(res):
                if row[0] == self.ui.tableWidget.currentRow():
                    data = row[1]
                    n_nom = data[0]  
                    p_prenom = data[1]  
                    a_adresse = data[2]  
                    c_comp_adress = data[3]  
                    c_code_pos = data[4]  
                    v_ville = data[5]  
                    t_tel_fixe = data[6]  
                    t_tel_port = data[7]  
                    e_email = data[8]  
                    curs.execute("""DELETE FROM information where nom=?
                     AND prenom=? AND adresse=?
                     AND comp_adresse=? AND cp=? AND ville=? 
                     AND tel_fix=? AND tel_por=? AND email=?""" , (n_nom,p_prenom,a_adresse,
                     c_comp_adress,c_code_pos,
                     v_ville,t_tel_fixe,t_tel_port,e_email))
                    conn.commit()
                    self.load_Database()  
     
     
        def load_Database(self):
            while self.ui.tableWidget.rowCount() > 0:
                self.ui.tableWidget.removeRow(0)
            content = "SELECT * FROM information"
            res = conn.execute(content)
            for row_index , row_data in enumerate(res):
                self.ui.tableWidget.insertRow(row_index)
                for colm_index , colm_data in enumerate(row_data):
                    self.ui.tableWidget.setItem(row_index,colm_index,QTableWidgetItem(str(colm_data)))
            self.ui.label_3.setText("Totale clients : "+str(self.ui.tableWidget.rowCount()))        
            return        
     
     
    app = QApplication([])
    win = MainApp() 
    app.exec_()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 720
    Par défaut
    Salut,

    Citation Envoyé par Moupython Voir le message
    ça fait des semaines que je bloque au nivaux de la base e donnée "UPDATE" , j'ai KeyError: 'Comp_Adresse' ligne 54,55,57,58 sur toutes les lignes avec un tiret bas
    Lorsqu'on essaie d'accéder à la valeur associée à la clef "tartemolle" d'un dictionnaire et que çà jette KeyError, c'est juste qu'il n'y a pas d'entrée avec cette clef là. Ce qui n'est pas très compliqué à vérifier avec un simple "print".

    Après si vous vous lancez à écrire des choses compliquées avec Python sans avoir pris le temps d'être un peu en confiance avec les différentes fonctionnalités que vous utilisez.... normal de patauger. Mais on ne peut pas pallier la formation que vous avez un peu zappée.

    W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Passionné
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Passionné

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Par défaut
    merci wiztricks , je fait des cours, je suis un débutant ,il y a tellement a apprendre que des fois on oubli les premières leçons ,merci de m'avoir orienter .

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 720
    Par défaut
    Citation Envoyé par Moupython Voir le message
    merci wiztricks , je fait des cours, je suis un débutant ,il y a tellement a apprendre que des fois on oubli les premières leçons
    Il faut prendre le temps de digérer tout çà... Sinon vous allez galérer grave.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Nothing to update database
    Par IAGISG dans le forum Symfony
    Réponses: 2
    Dernier message: 07/06/2014, 03h10
  2. Erreur dataBase SQLite
    Par Nylwen dans le forum Android
    Réponses: 5
    Dernier message: 14/09/2012, 15h01
  3. Attach Database sqlite
    Par matini dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 20/01/2012, 10h18
  4. Failed to update database
    Par abdallah2007 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 06/07/2008, 22h36
  5. [SQLite] update en sqlite
    Par patk29 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/04/2007, 08h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo