Lo siguiente que vamos a hacer es crear la base de datos, pero, ya sabemos que, una vez creada la base de datos, si volvemos a entrar, nos dará error, por lo que vamos a usar try/except.
Debajo de los from, ponemos try:
En la siguiente línea, creamos una variable, igualamos a sqlite.connect, entre paréntesis, ponemos el nombre que le vamos a dar a la base de datos, con esto creamos la base de datos.
En la siguiente línea, declaramos el cursor.
En la siguiente línea, vamos a crear los campos que va a componer la base de datos, que son id, nombre, dirección, y, notas, el campo id, es la llave primaria, y, autoincrement, los demás campos son texto.
En la siguiente línea, ponemos except:, y, usamos messagebox.showwarning, con el siguiente mensaje:
Cuando ejecutemos el programa, lo primero que va a hacer es crear la base de datos, si devuelve un error, porque ya está creada, ira a except, y, nos mostrara la ventana de mensaje.
Lo siguiente es guardar los cambios, para ello, vamos a declarar cuatro variables para nombre, dirección y localidad de tipo StringVar, y, para estado civil asignamos INTVAR, porque va a contener un número.
Vamos a la línea donde declaramos el checkbutton, añadimos el parámetro textvarible e igualamos a varestadocivil, quiere decir que la variable varestadocivil va a valer el valor de la casilla, que solo puede ser 1 si esta marcada, o, 0 si no lo esta.
Añadimos varnombre, vardireccion y varlocalidad.
Lo siguiente va a ser guardar los datos, por lo que vamos a crear una función, o, método, lo llamamos guardar, en la siguiente línea, abrimos la base de datos y habilitamos el cursor.
En la siguiente línea, vamos a almacenar los datos, es algo complejo, porque debemos de poner comilla simple, seguido de comillas dobles, el signo de más, nombre de la variable más get, de nuevo el signo de más, comillas dobles, y, comilla simple.
'"+ varnombre.get() + "'
Ponemos lo siguiente:
Para el campo id, ya sabemos que es NULL, para el siguiente campo que es estado civil:
Ponemos coma, usamos la misma sintaxis que para varnombre:
Ponemos dirección.
Por último, localidad.
Declaramos una variable, que es Label y colocamos en la raiz, en fila 4, columna 1, y orientación oeste.
Creamos una función, la llamamos seleccionar, creamos una variable, e igualamos a nada, preguntamos si la variable varestadocivil es igual a 1.
En ese caso, la variable cadena vale Casado, en la siguiente línea usamos config en etiqueta, como text, ponemos la variable cadena, damos un color de letra azul.
En caso contrario, la variable cadena vale No casado, y, ponemos un color de letra rojo.
Vamos a la siguiente línea:
menuarchivo.add_command(label="Guardar")
Añadimos command e igualamos a la función guardar.
Vamos a la línea de estadocivil, y, añadimos command e igualamos a seleccionar.
Vamos a realizar un cambio, borramos la línea de labelestadocivil, vamos a la línea estadocivil, añadimos el parámetro text e igualamos a Estado civil, cambiamos column a 0.
Miguel Angel Franco
Comments