Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/06/2008, à 14:24

dayiri

MySQLdb et wx.ListCtrl

Salut à tous les pythoniens,

j'ai de sérieux pbms
en effets, je viens de vinir de concevoit un frame avec des champs tous liés aux champs d'une base de donnée MySQLdb.
problème est que je désire que:
- dès que je clique sur leboutton ajouter, que les valeurs des champs du frame entre dans la BD et que ceux ci d'affiches dans les différentes colones de la liste, cad une ligne de la liste pour chaque enregistrement.

- je désirerais aussi controler la saisie en fonction du type du champs de la BD

voici une portion de mon code :


#List des enregistrements dans la base de données

        self.lc = wx.ListCtrl(self, 15, wx.DLG_PNT(self, 10, 185), wx.DLG_SZE(self, 480, 120), style = wx.LC_REPORT|wx.LC_VRULES|wx.LC_HRULES|wx.SUNKEN_BORDER)
        self.lc.InsertColumn(0, "ID")
        self.lc.SetColumnWidth(0, 100)
       
        self.lc.InsertColumn(1, "N° LOT")
        self.lc.SetColumnWidth(1, 150)
       
        self.lc.InsertColumn(2, "Agence Immobilière")
        self.lc.SetColumnWidth(2, 200)
       
        self.lc.InsertColumn(3, "Téléphone")
        self.lc.SetColumnWidth(3, 150)
       
        self.lc.InsertColumn(4, "Cellulaire")
        self.lc.SetColumnWidth(4, 150)
       
        self.lc.InsertColumn(5, "E-Mail")
        self.lc.SetColumnWidth(5, 200)
       
        self.lc.InsertColumn(6, "Boîte postale")
        self.lc.SetColumnWidth(6, 200)
       
        self.lc.InsertColumn(7, "Entité")
        self.lc.SetColumnWidth(7, 100)
       
        self.lc.InsertColumn(8, "Superficie")
        self.lc.SetColumnWidth(8, 100)
       
        self.lc.InsertColumn(9, "Contrat")
        self.lc.SetColumnWidth(9, 100)
       
        self.lc.InsertColumn(10, "Commune")
        self.lc.SetColumnWidth(10, 150)
       
        self.lc.InsertColumn(11, "Quartier")
        self.lc.SetColumnWidth(11, 150)
       
        self.lc.InsertColumn(12, "Description")
        self.lc.SetColumnWidth(12, 500)
       
        self.lc.InsertColumn(13, "Montant")
        self.lc.SetColumnWidth(13, 200)
       
       
       
       
        #for idex in range(len(item.items())):
            #self.lc.InsertStringItem(idex, selection[idex]["ID"])
            #self.lc.SetStringItem(idex, 1,selection[idex]["N° LOT"])
           
        self.SetSize(self.GetSize())
        #EVT_LIST_ITEM_SELECTED(self, 15, self.getSelect)

        #Déclaration des méthodes liées aux bouttons et aux objets

    def setSelect(self, event):
        return

    def getSelect(self, event):
        return

    def Ajoute(self, event):

       
        ident = self.ident.GetValue()
        numlot = self.numlot.GetValue()
        agence = self.agence.GetValue()
        tel = self.tel.GetValue()
        cel = self.cel.GetValue()
        mail = self.mail.GetValue()
        bp = self.bp.GetValue()
        entite = self.entite.GetValue()
        superf = self.superf.GetValue()
        contrat = self.contrat.GetValue()
        comm = self.comm.GetValue()
        quart = self.quart.GetValue()
        descrip = self.descrip.GetValue()
        montant = self.montant.GetValue()
        ch = [ident, numlot, agence, tel, cel, mail, bp, entite, superf, contrat, comm, quart, descrip, montant]
        llist = range(15)
        for i in llist:
            if ch[i] == '':
                wx.MessageBox('Veuillez renseigner tous les champs vides', 'ERROR', wx.OK|wx.ICON_INFORMATION)
               
            else:
                req = "insert into LOGEMENT (id_lot, num_lot, ag_im, ag_tel, ag_cel, ag_mail, ag_bp, log_entite, log_superf, log_contr, log_com, log_quart, log_descipt, log_mont)  values (%s, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %s, '%s', '%s', '%s', '%s', %s)" %( ident, numlot, agence, tel, cel, mail, bp, entite, superf, contrat, comm, quart, descrip, montant)

                req2 = "SELECT * FROM LOGEMENT"
                self.cursor.execute(req2)
                selection = self.cursor.fetchall()

               
               
                self.ident.Clear()
                self.numlot.Clear()
                self.age

Hors ligne