Crear un formulario con Tkinter para insertar registros en tablas MariaDB
Capítulo 19: Insertar datos en tablas - Bases de datos con MariaDB
En este capítulo, vas a ver cómo crear un pequeño programa con una serie de Entry() y Label() para que el usuario,
pueda a través de estos introducir en una tabla MariaDB de la base de datos sus datos de registro.
Quedará de la siguiente forma e introducirá los datos en la tabla creada en el capítulo anterior de nuestra base de datos.
Interfaz gráfica del formulario con Tkinter
Empecemos con la interfaz gráfica. Es sencilla, un0 título, cuatro Label()
, cuatro Entry()
y un Button()
.
# Interfaz gráfica
Label(root,
text="Registro para nuevos clientes",
font="calibri 18",
fg="red").grid(row=0, columnspan=2)
Label(root,
text="Nombre").grid(row=1, column=0, pady=10)
e_nombre = Entry(root)
e_nombre.grid(row=1, column=1, pady=10)
Label(root,
text="Apellidos").grid(row=2, column=0, pady=10)
e_apellidos = Entry(root)
e_apellidos.grid(row=2, column=1, pady=10)
Label(root,
text="Teléfono").grid(row=3, column=0, pady=10)
e_telefono = Entry(root)
e_telefono.grid(row=3, column=1, pady=10)
Label(root,
text="Dirección").grid(row=4, column=0, pady=10)
e_direccion = Entry(root)
e_direccion.grid(row=4, column=1, pady=10)
boton = Button(root, text="Registrar", width=20, command=registro_cliente).grid(row=5, columnspan=2)
Lógica del formulario con Tkinter
Después de crear la interfaz, ya está todo preparado para crear la lógica que permitirá registrar usuarios en nuestra base de datos.
#Conexión con la base de datos
try:
conexion = mariadb.connect(
user="root",
password="",
host="127.0.0.1",
port=3306,
database="prueba"
)
# Obtiene el cursor
cursor = conexion.cursor()
except mariadb.Error as error:
print(f"Error al conectar con la base de datos: {error}")
sys.exit(1)
# Funciones
def registro_cliente():
nombre = e_nombre.get()
apellidos = e_apellidos.get()
telefono = e_telefono.get()
direccion = e_direccion.get()
try:
cursor.execute("INSERT INTO clientes2
(nombre, apellidos, telefono, direccion)
VALUES (?, ?, ?, ?)",
(nombre, apellidos, telefono, direccion))
conexion.commit()
except mariadb.Error as error_registro:
print(f"Error en el registro: {error_registro}")
Introducimos los datos del usuario a registrar y pulsamos el botón. Ves a phpMyAdmin y comprueba que se haya guardado correctamente.
Si no entiendes correctamente el funcionamiento del programa, te recomiendo que veas el vídeo.
Comentarios
Si te quedan dudas sobre el temario, sobre Tkinter, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.