Insertar datos en tablas - Bases de datos con MariaDB - Tkinter desde cero - Capítulo 19


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 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

Empecemos con la interfaz gráfica. Es sencilla, un título, cuatro Label(), cuatro Entry() y un Button().

Código

# 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 programa

Después de crear la interfaz, ya está todo preparado para crear la lógica que permitirá registrar usuarios en nuestra base de datos.

Código

#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}")

Resultado

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.


Suscríbete a mi canal de YouTube para apoyarme

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.


Comentarios

Si te quedan dudas sobre el temario, sobre Python, 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.