Сбой уникального ограничения в базе данных - PullRequest
0 голосов
/ 23 мая 2019

Я создал базу данных, используя db browser, поскольку создание вручную не очень хорошо.Как предлагали другие разработчики, я даже создал глобальную переменную, но теперь это еще одно препятствие.Пожалуйста, помогите мне, так как я новичок, которому 15 лет. Ps. Не сердитесь на мои глупые вопросы.Я не понимаю это исключение.

from tkinter import*
import sqlite3

conn = sqlite3.connect("database.db")

def stud_win():



    studwin=Toplevel(root)
    studwin.title('Student registration')
    studwin.resizable(0,0)
    a = Label(studwin ,text = "ID" ).grid(row = 0,column = 0)
    b = Label(studwin ,text = "Date").grid(row = 1,column = 0)
    c = Label(studwin ,text = "Address").grid(row = 2,column = 0)
    d = Label(studwin ,text = "Mobile Number").grid(row = 3,column = 0)
    e = Label(studwin, text = "Name").grid(row=0, column=2)
    f = Label(studwin, text = "Qualification").grid(row=1, column=2)
    g = Label(studwin ,text = "Email").grid(row = 2,column = 2)
    h = Label(studwin, text = "Gender").grid(row = 3, column= 2)
    ID=IntVar()
    a1 = Entry(studwin, textvariable=ID).grid(row = 0,column = 1)
    Date = StringVar()
    b1 = Entry(studwin, textvariable=Date).grid(row = 1,column = 1)
    Address = StringVar()
    c1 = Entry(studwin,textvariable=Address).grid(row = 2,column = 1)
    Number = StringVar()
    d1 = Entry(studwin,textvariable=Number).grid(row = 3,column = 1)
    Name = StringVar()
    e1 = Entry(studwin,textvariable=Name).grid(row = 0,column = 3)
    Qualification = StringVar()
    f1 = Entry(studwin,textvariable=Qualification).grid(row = 1,column = 3)
    Email = StringVar()
    g1 = Entry(studwin,textvariable=Email).grid(row = 2,column = 3)
    gender = StringVar()
    R1 = Radiobutton(studwin, text="Male", value="male", var=gender)
    R2 = Radiobutton(studwin, text="Female", value="female", var=gender)
    R1.grid(row = 3,column = 3)
    R2.grid(row = 3,column = 4)
    id1 = ID.get()
    date1 = Date.get()
    address1 = Address.get()
    number1 = Number.get()
    name1 = Name.get()
    qualification1 = Qualification.get()
    email1 = Email.get()
    gender1= gender.get()





    def btn_click1():

        conn = sqlite3.connect('database.db')

        cu=conn.cursor()
        cu.execute('INSERT INTO Student (ID,Date,Address,Number ,Name,Qualification,Email,Gender) VALUES(?,?,?,?,?,?,?,?)',
                       (id1, date1, address1, number1, name1,qualification1,email1,gender1,))
        conn.commit()

    Button(studwin, text="submit", command=btn_click1).grid(row=4, columnspan=4)
    studwin.mainloop()









root=Tk()
root.title("Registration form")
root.resizable(0,0)
menubar=Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Student", command=stud_win)
filemenu.add_command(label="Employee")
menubar.add_cascade(label="Register", menu=filemenu)
form_menu = Menu(menubar, tearoff=0)
form_menu.add_command(label="Enrollment form")
menubar.add_cascade(label="Transaction", menu=form_menu)
exitmenu=Menu(menubar, tearoff=0)
exitmenu.add_command(label="Exit App", command=root.quit)
menubar.add_cascade(label="Exit", menu=exitmenu)



root.config(menu=menubar)
root.mainloop()



Exception in Tkinter callback
Traceback (most recent call last):
  File "F:\Python3\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "F:/Python Projects/Registration form.py", line 59, in btn_click1
    (id1, date1, address1, number1, name1,qualification1,email1,gender1,))
sqlite3.IntegrityError: UNIQUE constraint failed: Student.ID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...