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. okey

    merci beaucoup pour l'aide

    a la prochaine
    1. Contributeur
      si c'est résolu, peux-tu marquer la discussion comme résolue?
  2. 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.
  3. 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é?
  4. 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.
  5. Contributeur
    bonjour, moi j'essaierais en mettant les get() dans la fonction si bien nommée kk.