-
Notifications
You must be signed in to change notification settings - Fork 0
/
EditarEstudiante.py
85 lines (70 loc) · 3.18 KB
/
EditarEstudiante.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import tkinter as tk
from tkinter import font
import mysql.connector
from styles import *
# Función para obtener los datos del estudiante seleccionado y abrir la ventana de edición
def editar_estudiante(estudiante):
ventana_edicion = tk.Toplevel()
ventana_edicion.geometry(pantalla)
ventana_edicion.resizable(False, False)
ventana_edicion.title("Gestión de Usuarios")
titulo_font = font.Font(family=FontFamily, size=FontSizeTitles, weight=FontBold)
Campos = font.Font(family=FontFamily, size=FontInput)
Spaces = font.Font(size=FontSpaces)
boton_font = font.Font(family=FontSizeTitles, size=FontSizeBtn, weight=FontBold)
# Crear el título
titulo_label = tk.Label(ventana_edicion, text="Editar Alumno", font=titulo_font)
titulo_label.pack(pady=50)
# Crear los campos de texto y etiquetas para la ventana de edición
label_nombre = tk.Label(ventana_edicion, text="Nombre:", font=Campos)
label_nombre.pack()
entry_nombre = tk.Entry(ventana_edicion, width=30,font=Campos)
entry_nombre.pack()
label_edad = tk.Label(ventana_edicion, text="Edad:", font=Campos)
label_edad.pack()
entry_edad = tk.Entry(ventana_edicion, width=30,font=Campos)
entry_edad.pack()
label_carrera = tk.Label(ventana_edicion, text="Carrera:", font=Campos)
label_carrera.pack()
entry_carrera = tk.Entry(ventana_edicion, width=30,font=Campos)
entry_carrera.pack()
# Obtener los datos del estudiante seleccionado
id_estudiante = estudiante[0]
nombre = estudiante[1]
edad = estudiante[2]
carrera = estudiante[3]
# Preencher los campos de entrada con la información actual del estudiante
entry_nombre.insert(0, nombre)
entry_edad.insert(0, edad)
entry_carrera.insert(0, carrera)
# Función para guardar los cambios realizados en la edición del estudiante
def guardar_cambios():
# Obtener los nuevos valores ingresados en los campos de texto
nuevo_nombre = entry_nombre.get()
nueva_edad = entry_edad.get()
nueva_carrera = entry_carrera.get()
# Realizar la conexión a la base de datos
connection = mysql.connector.connect(
host="localhost",
user="root",
password="",
database="estudiantespy"
)
# Crear un cursor para ejecutar consultas
cursor = connection.cursor()
# Ejecutar la consulta para actualizar la información del estudiante
consulta = "UPDATE estudiantes SET nombre=%s, edad=%s, carrera=%s WHERE id=%s"
valores = (nuevo_nombre, nueva_edad, nueva_carrera, id_estudiante)
cursor.execute(consulta, valores)
# Confirmar los cambios en la base de datos
connection.commit()
# Cerrar el cursor y la conexión
cursor.close()
connection.close()
# Cerrar la ventana de edición
ventana_edicion.destroy()
# Crear el botón de guardar cambios
Spacio = tk.Label(ventana_edicion, text=" ", font=Spaces)
Spacio.pack()
boton_guardar = tk.Button(ventana_edicion, text="Guardar Cambios", command=guardar_cambios, font=boton_font,bg=colorBtns, fg=colorFont)
boton_guardar.pack(side=tk.TOP, padx=10, pady=10)