Python - No se guarda el dato introducido en un Entry creado en una venta tkinter en la base de datos sqlite

 
Vista:

No se guarda el dato introducido en un Entry creado en una venta tkinter en la base de datos sqlite

Publicado por Victor (1 intervención) el 04/01/2017 19:43:32
Buenas tardes,

Soy bastante novato en Python y por mas que leo e investigo, no soy capaz solucionar mi problema.

Necesito que se guarde en una base de datos sqlite, el dato que se introduce en un Entry que se encuentra en una ventana creada con tkinter.

Este es el código:

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
#Importa las librerias tkinter y sqlite3
from tkinter import *
import sqlite3
 
#crea la base de datos si no existe
conexion = sqlite3.connect("base.db")
conexion.text_factory = str
c=conexion.cursor()
c.execute ("""CREATE TABLE IF NOT EXISTS `clientes` (`nombre`   VARCHAR (50))""")
conexion.commit()
conexion.close()
 
#crea la ventana con una caja para introducir un dato.
ventana = Tk()
dato = StringVar()
caja = Entry (ventana, textvariable = dato)
caja.pack()
informacion = dato.get()
 
#crea la funcion para guardar en la base de datos
def guarda():
    conexion = sqlite3.connect("base.db")
    conexion.text_factory = str
    c = conexion.cursor()
    c.execute(('INSERT INTO clientes (nombre) VALUES (?)', (informacion)))
    conexion.commit()
    conexion.close()
#crea el boton para guardar el dato introducido en la caja en la base de datos.
boton = Button (ventana, text = "salvar",command = guarda, )
boton.pack()
ventana.mainloop()

¿Me podéis echar una mano? Muchas gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sergio

No se guarda el dato introducido en un Entry creado en una venta tkinter en la base de datos sqlite

Publicado por Sergio (2 intervenciones) el 08/04/2017 22:30:15
Hola, me gustaría saber si ya resolviste tu problema, sucede q a mi me pasa algo más o menos parecido. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar