Student Management System Project in Python
Student Management System Project in Python
connector.execute(
"CREATE TABLE IF NOT EXISTS STUDENT_MANAGEMENT
(STUDENT_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
NAME TEXT, EMAIL TEXT, PHONE_NO TEXT, GENDER TEXT, DOB
TEXT, STREAM TEXT)"
)
def reset_form():
global tree
tree.delete(*tree.get_children())
reset_fields()
def display_records():
tree.delete(*tree.get_children())
def add_record():
global name_strvar, email_strvar, contact_strvar,
gender_strvar, dob, stream_strvar
name = name_strvar.get()
email = email_strvar.get()
contact = contact_strvar.get()
gender = gender_strvar.get()
DOB = dob.get_date()
stream = stream_strvar.get()
if not name or not email or not contact or not
gender or not DOB or not stream:
mb.showerror('Error!', "Please fill all the
missing fields!!")
else:
try:
connector.execute(
'INSERT INTO STUDENT_MANAGEMENT (NAME,
EMAIL, PHONE_NO, GENDER, DOB, STREAM) VALUES
(?,?,?,?,?,?)', (name, email, contact, gender, DOB,
stream)
)
connector.commit()
mb.showinfo('Record added', f"Record of
{name} was successfully added")
reset_fields()
display_records()
except:
mb.showerror('Wrong type', 'The type of the
values entered is not accurate. Pls note that the
contact field can only contain numbers')
def remove_record():
if not tree.selection():
mb.showerror('Error!', 'Please select an item
from the database')
else:
current_item = tree.focus()
values = tree.item(current_item)
selection = values["values"]
tree.delete(current_item)
connector.execute('DELETE FROM
STUDENT_MANAGEMENT WHERE STUDENT_ID=%d' % selection[0])
connector.commit()
display_records()
def view_record():
global name_strvar, email_strvar, contact_strvar,
gender_strvar, dob, stream_strvar
current_item = tree.focus()
values = tree.item(current_item)
selection = values["values"]
date = datetime.date(int(selection[5][:4]),
int(selection[5][5:7]), int(selection[5][8:]))
name_strvar.set(selection[1]);
email_strvar.set(selection[2])
contact_strvar.set(selection[3]);
gender_strvar.set(selection[4])
dob.set_date(date); stream_strvar.set(selection[6])
X_scroller.pack(side=BOTTOM, fill=X)
Y_scroller.pack(side=RIGHT, fill=Y)
tree.config(yscrollcommand=Y_scroller.set,
xscrollcommand=X_scroller.set)
display_records()
# Finalizing the GUI window
main.update()
main.mainloop()