En este tema se vera el proceso de ingresar el personal, haciendo uso de las herramientas Pycharm, Python y MySQL Workbench.
- Integrantes:
- Edgar Emmanuel Mendez Ruiz
- Luis Angel Gallegos Gomez
- Gilberto Alejandro Martinez Cortina
- Jonathan Ivan Guzman Jaramillo
A continuacion podras hacer uso del codigo en python y de la base de datos en base a la estructura realizada.
Utilizaremos:
- Instalar el controlador de MySQLdb en python
- Tener instalado MySQL Workbench
- Creación de Procedimientos (Modificar, Agregar, Eliminar)
- Link de la Base de Datos:
- https://drive.google.com/open?id=1N21Zoq6cVRVeovSq9rFtrzu7FMq3FUNy
- Codigo en Python:
#!/usr/bin/python from tkinter import * import tkMessageBox from tkinter import ttk import MySQLdb try: global db global cur db = MySQLdb.connect(host="localhost", # your host, usually localhost user="root", # your username passwd="tecnologico", # your password db="personal") # name of the data base cur = db.cursor() print("Conexion Correcta") except MySQLdb.Error as err: print("MySQL Error: %s" % str(err)) def inicio(): cur.execute("SELECT * FROM usuarios") # Add content using (where index is the position/row of the treeview) # iid is the item index (used to access a specific element in the treeview) # you can set iid to be equal to the index index = iid = 0 for row in cur.fetchall(): treeView.insert("", iid, index, values=row) index = iid = index + 1 # Contador de columnas def add(): ID = DID.get() Nom = Dnom.get() Apellido = Dap.get() Edad = Ded.get() Correo = Dcor.get() Area = Darea.get() Sueldo = Dsuel.get() Datos = [ID, Nom, Apellido, Edad, Correo, Area, Sueldo,'Nuevo Usuario'] try: cur.callproc('UsuariosITM', Datos) db.commit() except: db.rollback() tkMessageBox.showinfo("Error en insercion", "Verifique que los campos esten llenos / usuario ya existente") for i in treeView.get_children(): treeView.delete(i) inicio() def elim(): ID = DID.get() Eliminar = [ID, "", "", "", "", "", "",'Eliminar Usuario'] try: cur.callproc('UsuariosITM', Eliminar) db.commit() except: db.rollback() tkMessageBox.showinfo("Error en insercion", "Verifique que el campo ID este lleno") for i in treeView.get_children(): treeView.delete(i) inicio() def mod(): ID = DID.get() Nom = Dnom.get() Apellido = Dap.get() Edad = Ded.get() Correo = Dcor.get() Area = Darea.get() Sueldo = Dsuel.get() Modificar = [ID, Nom, Apellido, Edad, Correo, Area, Sueldo, 'Editar Usuario'] try: cur.callproc('UsuariosITM', Modificar) db.commit() except: db.rollback() tkMessageBox.showinfo("Error en insercion", "Verifique los campos esten completos") for i in treeView.get_children(): treeView.delete(i) inicio() def VenAgre(): root = Tk() global treeView treeView = ttk.Treeview(root) treeView.grid(row=0,column=0, columnspan=5) # Columnas de la tabla del sistema treeView["columns"] = ["ID", "Nombre","Apellido","Edad","Correo","AreaT","Sueldo"] treeView["show"] = "headings" treeView.heading("ID", text="ID") treeView.column("ID",minwidth=0,width=70, stretch=NO) treeView.heading("Nombre", text="Nombre") treeView.column("Nombre",minwidth=0,width=150, stretch=NO) treeView.heading("Apellido", text="Apellido") treeView.column("Apellido",minwidth=0,width=125, stretch=NO) treeView.heading("Edad", text="Edad") treeView.column("Edad",minwidth=0,width=50, stretch=NO) treeView.heading("Correo", text="Correo") treeView.column("Correo",minwidth=0,width=200, stretch=NO) treeView.heading("AreaT", text="AreaT") treeView.column("AreaT",minwidth=0,width=90, stretch=NO) treeView.heading("Sueldo", text="Sueldo") treeView.column("Sueldo", minwidth=0, width=80, stretch=NO) global DID global Dnom global Dap global Ded global Dcor global Darea global Dsuel Dsuel=IntVar() inicio() # Datos a ingresar desde la ventana ID = Label(root, text="ID: ") ID.grid(columnspan=1, sticky=W) DID = Entry(root) DID.grid(row=1, column=1, sticky=W) nom= Label(root,text="Nombre: ") nom.grid(columnspan=1,sticky=W) Dnom=Entry(root) Dnom.grid(row=2,column=1,sticky=W) Ape= Label(root,text="Apellido:") Ape.grid(columnspan=2,sticky=W) Dap=Entry(root) Dap.grid(row=3, column=1, sticky=W) Ed= Label(root,text="Edad:") Ed.grid(columnspan=2,sticky=W) Ded=Entry(root) Ded.grid(row=4, column=1, sticky=W) cor= Label(root,text="Correo:") cor.grid(columnspan=5,sticky=W) Dcor=Entry(root) Dcor.grid(row=5, column=1, sticky=W) area= Label(root,text="AreaT:") area.grid(columnspan=5,sticky=W) Darea=Entry(root) Darea.grid(row=6,column=1,sticky=W) suel = Label(root, text="Sueldo:") suel.grid(columnspan=5, sticky=W) Dsuel = Entry(root) Dsuel.grid(row=7, column=1, sticky=W) # Botones de la ventsna Agregar = Button(root, text='Nuevo Usuario', fg='Black',command=add) Agregar.grid(columnspan=6, sticky=N) Eliminar = Button(root, text='Eliminar Usuario', fg='Black', command=elim) Eliminar.grid(columnspan=6, sticky=N) Modificar = Button(root, text='Editar Usuario', fg='Black', command=mod) Modificar.grid(columnspan=6, sticky=N) root.mainloop() VenAgre()
- Creación de la base de datos y los procedimientos:
No hay comentarios:
Publicar un comentario