【问题标题】:Error while saving Tkinter Entry data into SQL将 Tkinter 条目数据保存到 SQL 时出错
【发布时间】:2015-07-24 07:35:15
【问题描述】:

这个想法是图书馆添加有关借书信息的程序。我有一些 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.执行(保存,) OperationalError:没有这样的列:(无论我在条目中输入什么)

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

抱歉英语不好

【问题讨论】:

  • print (nombre2, codigo2, libro2) 查看输出内容,看看它们是否在表格中可用
  • @VigneshKalai (nombre2, codigo2, libro2) 是我要添加到表中的内容,而不是列名。但是程序认为它是!

标签: python sql sqlite tkinter sql-insert


【解决方案1】:

试试这个:

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

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

【讨论】:

    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多