from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import sqlite3
#desarollo de la interfaz grafica
root=Tk()
[Link]("Aplicacion CRUD con bases de datos")
[Link]("600x350")
miId=StringVar()
miNombre=StringVar()
miCargo=StringVar()
miSalario=StringVar()
def conexionBBDD():
miConexion=[Link]("base")
miCursor=[Link]()
try:
[Link]('''CREATE TABLE empleado (ID INTEGER PRIMARY KEY
AUTOINCREMENT,
NOMBRE VARCHAR(50) NOT NULL,
CARGO VARCHAR(50) NOT NULL,
SALARIO INT NOT NULL)
''')
[Link]("CONEXION","bases datos creada Exitosamente")
except:
[Link]("CONEXION","bases datos ya Exitosamente")
def eliminarBBDD():
miConexion=[Link]("base")
miCursor=[Link]()
if [Link](message="Los datos se perderan definitvamente, Desea
continuar /",title="ADVERTENCIA"):
[Link]("DROP TABLE empleado")
else:
pass
def salirApliacion():
valor=messagebox=askquestion("Salir","Esta seguro que quiere salir")
if valor=="yes":
[Link]()
def limpiarCampos():
[Link]('')
miId=set('')
miNombre=set('')
miCargo=set('')
miSalario=Sset('')
def mensaje():
acerca='''
apliacion CRUD
Version 1.0
Tecnologia Python Tjinter
'''
#########################################
def crear():
miConexion=[Link]("base")
miCursor=[Link]()
try:
datos=[Link](),[Link](),[Link]()
[Link]("INSERT INTO empleado VALUES(NULL,?,?,?)",(datos))
[Link]()
except:
[Link]("ADVERTENCIA","Ocurrio un error al crear el
registro,verifique coneccion con base datos")
pass
limpiarCampos()
mostrar()
def mostrar():
miConexion=[Link]("base")
miCursor=[Link]()
registros=tree.get_children()
for elemento in registros:
[Link](elemento)
try:
[Link]("SELECT * FROM empleado")
for row in miCursor:
[Link]('',0,text=row[0],values=(row[1],row[2],row[3]))
except:
pass
########################################################## crear tabla
tree=[Link](height=10,column=('#0','#1','#2'))
[Link](x=0,y=130)
[Link]('#0',width=100)
[Link]('#0',text="ID",anchor=CENTER)
[Link]('#1',text="Nombre del Empleado",anchor=CENTER)
[Link]('#2',text="Cargo",anchor=CENTER)
[Link]('#3.',text="Salario",anchor=CENTER)
[Link]('#3',width=100)
def seleccionarUsandoClick(event):
item=[Link]('item',event.x,event.y)
[Link]([Link](item,"text"))
[Link]([Link](item,"values")[0])
[Link]([Link](item,"values")[1])
[Link]([Link](item,"values")[2])
[Link]("<Double-1>",seleccionarUsandoClick)
def actualizar():
miConexion=[Link]("base")
miCursor=[Link]()
try:
datos=[Link](),[Link](),[Link]()
[Link]("UPDATE empleado SET NOMBRE=?, CARGO=?, SALARIO=? WHERE
ID="+[Link](),(datos))
[Link]()
except:
[Link]("ADVERTENCIA","Ocurrio un error al actualizar el
registro")
pass
limpiarCampos()
mostrar()
def borrar():
miConexion=[Link]("base")
miCursor=[Link]()
try:
if [Link](menssage="Realemanete quiere eliminar el
registro",title="ADVERTENCIA"):
[Link]("DELETE FROM empleado WHERE ID="+[Link]())
except:
[Link]("ADVERTENCIA","Ocurrio un error al tratar de
eliminar el registro")
pass
limpiarCampos()
mostrar()
###################### colocar widgtes
menubar=Menu(root)
menubasedat=Menu(menubar,tearoff=0)
menubasedat.add_command(label="Crear/Concetor Base de Datos",command=conexionBBDD)
menubasedat.add_command(label="Eliminar Base de Datos",command=eliminarBBDD)
menubasedat.add_command(label="Salir Base de Datos",command=salirApliacion)
menubar.add_cascade(label="Inicio",menu=menubasedat)
ayudamenu=Menu(menubar,tearoff=0)
ayudamenu.add_command(label="Recetear Campos",command=limpiarCampos)
ayudamenu.add_command(label="Acerca",command=mensaje)
menubar.add_cascade(label="Ayuda",menu=ayudamenu)
[Link](menu=menubar)
###############CREANDO ETIQUETAS DE TEXTO
e1=Entry(root,textvariable=miId)
l2=Label(root,text="Nombre")
[Link](x=50,y=10)
e2=Entry(root, textvariable=miNombre, width=50)
[Link](x=100,y=10)
l3=Label(root,text="Cargo")
[Link](x=50,y=40)
e3=Entry(root, textvariable=miCargo)
[Link](x=100,y=40)
l4=Label(root,text="Salario")
[Link](x=280,y=40)
e4=Entry(root, textvariable=miSalario,width=10)
[Link](x=320,y=40)
l5=Label(root,text="USD")
[Link](x=380,y=40)
########CREAR BOTONES
b1=Button(root, text="Crear Registro",command=crear)
[Link](x=50,y=90)
b2=Button(root, text="Modificar Registro",command=actualizar)
[Link](x=180,y=90)
b3=Button(root, text="Mostar lista empleados",command=mostrar)
[Link](x=320,y=90)
b4=Button(root, text="Eliminar Registro",bg="red",command=borrar)
[Link](x=500,y=90)
[Link]()