J'arrive pas a remplir ma base de donnee avec python

Résolu
bonjour je suis un debutant en programmation
je viens au pres. de vous pour une aide
en ce moment j'essaye de connecter ma base de donnee avec python et mon algorithme ci-dessous derait me permetre a le faire
et il le fait
Mais quand je clique sur mon bouton valider dans ma base de donnee sa me donne des cases vide

import sqlite3
from tkinter import *

def kk():
    V=X1,X2,X3,X4
    conn=sqlite3.connect('test1.db')
    cur=conn.cursor()
    cur.execute("INSERT INTO STUDENTS VALUES (?,?,?,?)",V)
    conn.commit()
    conn.close()

    
Mafenetre2 = Tk()
Mafenetre2.title('INSCRIPTION')

Lbl1 = Label(Mafenetre2, text = 'Nom ')
Lbl1.grid(row=1, column=1)

Champ1 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
Champ1.focus_set()
Champ1.grid(row=1, column=2)

Lbl2 = Label(Mafenetre2, text = 'Post-nom ')
Lbl2.grid(row=3, column=1)

Champ2 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
Champ2.focus_set()
Champ2.grid(row=3, column=2)

Lbl3 = Label(Mafenetre2, text = "id")
Lbl3.grid(row=5, column=1)

Champ3 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
Champ3.focus_set()
Champ3.grid(row=5, column=2)

Lbl4 = Label(Mafenetre2, text = 'age ')
Lbl4.grid(row=7, column=1)

Champ4 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
Champ4.focus_set()
Champ4.grid(row=7, column=2)

X1=Champ1.get()
X2=Champ2.get()
X3=Champ3.get()
X4=Champ4.get()

    
Btn = Button(Mafenetre2, text ='Valider',command=kk)
Btn.grid(row=13, column=2)


Mafenetre2.mainloop()



aider moi svp

5 réponses

  1. Contributeur
    bonjour, moi j'essaierais en mettant les get() dans la fonction si bien nommée kk.
    1. merci pour la reaction assez rapide
      oui merci sa marche ainsi
      mais sa me pose un probleme quand j'enregistre 2 fois de suite ils disent:

      <<database is locked>>
      1. Contributeur
        j'ai testé en adaptant le programme que tu as partagé, et je n'ai pas ce problème.
    2. OUI,
      j'utilise sqlite3
      j'enregistre la 1ere fois sa passe bien
      mais la seconde fois sa me donne cette erreure la

      ou soit peut etre que vous pouvez connaitre si cette erreure est du normallement a quoi
      1. Contributeur
        la seconde exécution du programme, ou la seconde fois que tu valides?
        peux-tu montrer ton code modifié?
    3. disons quand j'entre des nouveaux identifients


      from tkinter import *
      import sqlite3

      def base():
      X1=Champ1.get()
      X2=Champ2.get()
      X3=Champ3.get()
      X4=Champ4.get()
      X5=Champ5.get()
      X6=Champ6.get()
      V=X1,X2,X3,X4,X5,X6
      conn = sqlite3.connect('bd.db')
      cur = conn.cursor()
      cur.execute('INSERT OR REPLACE INTO INSCRIPTION VALUES(?,?,?,?,?,?)',V)
      conn.commit()
      conn.close()

      Mafenetre2 = Tk()
      Mafenetre2.title('INSCRIPTION')

      Lbl1 = Label(Mafenetre2, text = 'Nom ')
      Lbl1.grid(row=1, column=1)

      Champ1 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
      Champ1.focus_set()
      Champ1.grid(row=1, column=2)

      Lbl2 = Label(Mafenetre2, text = 'Post-nom ')
      Lbl2.grid(row=3, column=1)

      Champ2 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
      Champ2.focus_set()
      Champ2.grid(row=3, column=2)

      Lbl3 = Label(Mafenetre2, text = "Nom d'utilisateur ")
      Lbl3.grid(row=5, column=1)

      Champ3 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
      Champ3.focus_set()
      Champ3.grid(row=5, column=2)

      Lbl4 = Label(Mafenetre2, text = 'Adresse mail ')
      Lbl4.grid(row=7, column=1)

      Champ4 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
      Champ4.focus_set()
      Champ4.grid(row=7, column=2)

      Lbl5 = Label(Mafenetre2, text = 'Annee de naissance ')
      Lbl5.grid(row=9, column=1)

      Champ5 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
      Champ5.focus_set()
      Champ5.grid(row=9, column=2)

      Lbl6 = Label(Mafenetre2, text = 'Mot de passe')
      Lbl6.grid(row=11, column=1)

      Champ6 = Entry(Mafenetre2, bg ='bisque', fg='maroon')
      Champ6.focus_set()
      Champ6.grid(row=11, column=2)

      Btn = Button(Mafenetre2, text ='Valider',command=base)
      Btn.grid(row=13, column=2)

      Mafenetre2.mainloop()

      1. Contributeur
        merci de spécifier "python" quand tu utilises des balises de code pour partager du code python.

        chez moi, tout fonctionne très bien.
    4. okey

      merci beaucoup pour l'aide

      a la prochaine
      1. Contributeur
        si c'est résolu, peux-tu marquer la discussion comme résolue?