Code 3
Code 3
def refreshTable():
for data in my_tree.get_children():
my_tree.delete(data)
root = Tk()
root.title("Preschool Information System")
root.geometry("1080x720")
root.config(bg="#77ff68")
my_tree = ttk.Treeview(root)
#Add record
def add():
studid = str(studidEntry.get())
fname = str(fnameEntry.get())
scigrade = str(scigradeEntry.get())
mtgrade = str(mtgradeEntry.get())
enggrade = str(enggradeEntry.get())
if (studid == "" or studid == " ") or (fname == "" or fname == " ") or
(scigrade == "" or scigrade == " ") or (mtgrade == "" or mtgrade == " ") or
(enggrade == "" or enggrade == " "):
messagebox.showinfo("Error", "Please fill up the blank entry")
return
else:
try:
conn = connection()
cursor = conn.cursor()
cursor.execute("INSERT INTO students VALUES
('"+studid+"','"+fname+"','"+scigrade+"','"+mtgrade+"','"+enggrade+"') ")
conn.commit()
conn.close()
except:
messagebox.showinfo("Error", "Student ID already exist")
return
refreshTable()
#Delete record
def delete():
decision = messagebox.askquestion("Warning", "Do you want to delete the
selected data?")
if decision != "yes":
return
else:
selected_item = my_tree.selection()[0]
deleteData = str(my_tree.item(selected_item)['values'][0])
try:
conn = connection()
cursor = conn.cursor()
cursor.execute("DELETE FROM students WHERE STUDID='"+str(deleteData)
+"'")
conn.commit()
conn.close()
except:
messagebox.showinfo("Error", "Sorry an error occured")
return
refreshTable()
#Select record
def select():
try:
selected_item = my_tree.selection()[0]
studid = str(my_tree.item(selected_item)['values'][0])
fname = str(my_tree.item(selected_item)['values'][1])
scigrade = str(my_tree.item(selected_item)['values'][2])
mtgrade = str(my_tree.item(selected_item)['values'][3])
enggrade = str(my_tree.item(selected_item)['values'][4])
setph(studid,1)
setph(fname,2)
setph(scigrade,3)
setph(mtgrade,4)
setph(enggrade,5)
except:
messagebox.showinfo("Error", "Please select a data row")
#Search record
def search():
studid = str(studidEntry.get())
fname = str(fnameEntry.get())
scigrade = str(scigradeEntry.get())
mtgrade = str(mtgradeEntry.get())
enggrade = str(enggradeEntry.get())
conn = connection()
cursor = conn.cursor()
cursor.execute("SELECT * FROM students WHERE STUDID='"+
studid+"' or FNAME='"+
fname+"' or SCIGRADE='"+
scigrade+"' or MTGRADE='"+
mtgrade+"' or ENGGRADE='"+
enggrade+"' ")
try:
result = cursor.fetchall()
conn.commit()
conn.close()
except:
messagebox.showinfo("Error", "No data found")
def update():
selectedStudid = ""
try:
selected_item = my_tree.selection()[0]
selectedStudid = str(my_tree.item(selected_item)['values'][0])
except:
messagebox.showinfo("Error", "Please select a data row")
studid = str(studidEntry.get())
fname = str(fnameEntry.get())
scigrade = str(scigradeEntry.get())
mtgrade = str(mtgradeEntry.get())
enggrade = str(enggradeEntry.get())
if (studid == "" or studid == " ") or (fname == "" or fname == " ") or
(scigrade == "" or scigrade == " ") or (mtgrade == "" or mtgrade == " ") or
(enggrade == "" or enggrade == " "):
messagebox.showinfo("Error", "Please fill up the blank entry")
return
else:
try:
conn = connection()
cursor = conn.cursor()
cursor.execute("UPDATE students SET STUDID='"+
studid+"', FNAME='"+
fname+"', SCIGRADE='"+
scigrade+"', MTGRADE='"+
mtgrade+ "', ENGGRADE='"+
enggrade+ "' WHERE STUDID='"+
selectedStudid+"' ")
conn.commit()
conn.close()
except:
messagebox.showinfo("Error", "Student ID already exist")
return
refreshTable()
def average():
try:
scigrade = int(scigradeEntry.get())
mtgrade = int(mtgradeEntry.get())
enggrade = int(enggradeEntry.get())
if (scigrade == "" or scigrade == " ") or (mtgrade == "" or mtgrade == " ")
or (enggrade == "" or enggrade == " "):
messagebox.showinfo("Error", "No input")
else:
try:
gr = (scigrade, mtgrade, enggrade)
avg = sum(gr)/3
messagebox.showinfo("The average is", avg)
except:
messagebox.showinfo("Error", "No input")
return
except:
messagebox.showinfo("Error", "No input")
refreshTable()
#Placing of buttons
addBtn.grid(row=3, column=5, columnspan=1, rowspan=2)
updateBtn.grid(row=5, column=5, columnspan=1, rowspan=2)
deleteBtn.grid(row=7, column=5, columnspan=1, rowspan=2)
searchBtn.grid(row=9, column=5, columnspan=1, rowspan=2)
selectBtn.grid(row=13, column=5, columnspan=1, rowspan=2)
averageBtn.grid(row=15, column=5, columnspan=1, rowspan=2)
refreshTable()