Application Development using ORM Architecture in Python Part – 2
Master Python with 70+ Hands-on Projects and Get Job-ready - Learn Python
Program 1
import MySQLdb
class MyConnection:
@staticmethod
def getConnection():
con=MySQLdb.Connect(host="localhost",user="root",password="root",database="dataflair")
return conProgram 2
import tkinter.messagebox
import tkinter.simpledialog
from tkinter import *
import tkinter.messagebox
import model
import employeedao as empd
import model
def buttonClick(value):
if(value=='save'):
ed=empd.EmployeeDAO()
E=model.Employee()
E.setid(empid.get())
E.setname(empname.get())
E.setdept(empdept.get())
E.setsalary(empsal.get())
choice = tkinter.messagebox.askyesno("save window", "Are you Sure want to save")
if (choice == True):
ed.insertEmployee(E)
tkinter.messagebox.showinfo("Save","Record Save Successfully")
elif(value=='search'):
empno=tkinter.simpledialog.askinteger("Search","Enter Employee Id:")
ed=empd.EmployeeDAO()
E=ed.searchEmployee(empno)
if(E!=None):
empid.set(E.getid())
empname.set(E.getname())
empdept.set(E.getdept())
empsal.set(E.getsalary())
else:
tkinter.messagebox.showerror("No Record","No Record Found....")
# tkinter.messagebox.showinfo("Result","Id ={},Name={},Department={},Salary={}".format(E.getid(),E.getname(),E.getdept(),E.getsalary()))
elif (value=='update'):
empno = tkinter.simpledialog.askinteger("Search", "Enter Employee Id for Update:")
ed = empd.EmployeeDAO()
E = ed.searchEmployee(empno)
if (E != None):
empid.set(E.getid())
empname.set(E.getname())
empdept.set(E.getdept())
empsal.set(E.getsalary())
else:
tkinter.messagebox.showerror("No Record", "No Record Found....")
elif (value=='delete'):
empno = tkinter.simpledialog.askinteger("Delete", "Enter Employee Id:")
ed = empd.EmployeeDAO()
E = ed.searchEmployee(empno)
if (E != None):
empid.set(E.getid())
empname.set(E.getname())
empdept.set(E.getdept())
empsal.set(E.getsalary())
choice = tkinter.messagebox.askokcancel("delete window", "Are you Sure want to delete")
if(choice == True):
ed.deleteEmployee(empno)
tkinter.messagebox.showinfo("delete", "Record Deleted...")
empid.set("")
empname.set("")
empdept.set("")
empsal.set("")
else:
tkinter.messagebox.showerror("No Record", "No Record Found....")
elif(value=='searchall'):
print("Search All Record")
ed=empd.EmployeeDAO()
mylist=ed.searchAll()
for i in range(30):
emp=mylist[i]
mylist1=[(emp.getid(),emp.getname(),emp.getdept(),emp.getsalary())]
for j in range(4):
e = Entry(myroot, width=20, fg='blue', font=('Arial', 15, 'bold'))
e.grid(row=i, column=j)
e.insert(END,mylist1[i][j])
elif (value=='exit'):
choice=tkinter.messagebox.askokcancel("exit window","Are you Sure want to exit")
if(choice==True):
myroot.destroy()
myroot=Tk()
myroot.geometry('900x900')
myroot.maxsize(900,900)
myroot.minsize(900,900)
myroot.title("Employee Registration Form")
myroot.wm_iconbitmap('2.ico')
lb1=Label(text="Enter Employee Id:",font=('Arial,10.bold'),fg="red")
lb1.grid(row=0,column=1)
empid=IntVar()
txtid=Entry(textvariable=empid,font=('Arial,10.bold'),fg="blue")
txtid.grid(row=0,column=2)
lb1=Label(text="Enter Name:",font=('Arial,10.bold'),fg="red")
lb1.grid(row=1,column=1)
empname=StringVar()
txtname=Entry(textvariable=empname,font=('Arial,10.bold'),fg="blue")
txtname.grid(row=1,column=2)
lb3=Label(text="Enter Department:",font=('Arial,10.bold'),fg="red")
lb3.grid(row=2,column=1)
empdept=StringVar()
txtdept=Entry(textvariable=empdept,font=('Arial,10.bold'),fg="blue")
txtdept.grid(row=2,column=2)
lb4=Label(text="Enter Salary:",font=('Arial,10.bold'),fg="red")
lb4.grid(row=3,column=1)
empsal=IntVar()
txtsal=Entry(textvariable=empsal,font=('Arial,10.bold'),fg="blue")
txtsal.grid(row=3,column=2)
#txtsal.bind('<Return>',saveData)
btnsave=Button(text='Save',font=('Verdana,10.bold'),fg="black",command=lambda :buttonClick('save'))
btnsave.grid(row=5,column=0)
btnsearch=Button(text='Search',font=('Verdana,10.bold'),fg="black",command=lambda :buttonClick('search'))
btnsearch.grid(row=5,column=1)
btndelete=Button(text='Delete',font=('Verdana,10.bold'),fg="black",command=lambda :buttonClick('delete'))
btndelete.grid(row=5,column=2)
btnupdate=Button(text='Update',font=('Verdana,10.bold'),fg="black",command=lambda :buttonClick('update'))
btnupdate.grid(row=5,column=3)
btnsearchall=Button(text='Search All',font=('Verdana,10.bold'),fg="black",command=lambda :buttonClick('searchall'))
btnsearchall.grid(row=5,column=4)
btnexit=Button(text='Exit',font=('Verdana,10.bold'),fg="black",command=lambda :buttonClick('exit'))
btnexit.grid(row=5,column=5)
myroot.mainloop()
We work very hard to provide you quality material
Could you take 15 seconds and share your happy experience on Google

