将Tkinter Entry数据保存到SQL

时间:2015-07-24 07:35:16

标签: python sql sqlite tkinter sql-insert

这个想法是图书馆添加有关借书的信息的程序。我有一些Tkinter条目及其变量

nombre1 = StringVar()
libro1 = StringVar()
codigo1 = StringVar()

cajaNom = Entry(root,textvariable=nombre1).place(x=150,y=30)
cajaLib = Entry(root,textvariable=libro1).place(x=150,y=60)
cajaCod = Entry(root,textvariable=codigo1).place(x=150,y=90)

它工作正常,但是,当我想将这些保存到SQLdb时,错误会消失。使用SQLITE3

def guardar():
nombre2 = nombre1.get()
libro2 = libro1.get()
codigo2 = codigo1.get()


#Connect SQL
conn = sqlite3.connect('biblioteca.db')
cs = conn.cursor()

#Save in Tables
save = '''INSERT INTO Prestamos (Nombre, Libro, Codigo) 
        VALUES (%s, %s, %s);''' % (nombre2, codigo2, libro2)
cs.execute(save,)

错误是 [...]在守卫   cs.execute(保存) OperationalError:没有这样的列:(无论我在条目中放置什么)

看起来它将条目作为列名,但是我在INSERT INTO代码中找不到问题

抱歉英文不好

1 个答案:

答案 0 :(得分:1)

试试这个:

conn.execute("INSERT INTO Prestamos(col_name1, col_name2, col_name3) VALUES (?, ?, ?)", (nombre2, codigo2, libro2))

col_name是您使用的任何列名。 我有一个类似的应用程序,这对我有用。