Curso de TKINTER desde cero

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.

Registro de usuarios con Python Tkinter y MariaDB

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.

Registro de usuarios con Python Tkinter y MariaDB Registros de una tabla en phpmyadmin

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.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.