2017-04-10 136 views
0

我想要一个tkinter gui,它有一个条目小部件和一个按钮,用户可以在输入字段中输入一个数字,然后单击“提交”按钮。当按下按钮时,我希望他的条目存储到我设置的数据库中。通过Tkinter条目将数据插入数据库

到目前为止我的代码如下:

db = Mysqldb.connect('localhost', 'root', '----', '----', 'design') 

cursor = db.cursor() 

def submit_it(): 
    cursor.execute('INSERT INTO time VALUES (data.get())') 

data = Entry(gui2, text = 'food name') 

data.place(x=100,y=100) 

submit = Button(gui2, text = 'submit', command = submit_it()) 

submit.place(x=200,y=200)  

我如何能得到这个工作将不胜感激任何想法?再次,所有我想要做的是让用户输入的东西进入输入栏并点击提交按钮。当这样做完成后,他的条目将被保存到我的数据库中:)

回答

1

需要更改两件事情,将data.get()作为参数,而不是直接在操作中。当传递它作为按钮的命令时不要调用submit_it。

db = Mysqldb.connect('localhost', 'root', '----', '----', 'design') 
cursor = db.cursor() 

def submit_it(): 
    cursor.execute('INSERT INTO time VALUES (%s)', (data.get(),)) # place data.get() as a parameter as a type or list 

data = Entry(gui2, text = 'food name') 
data.place(x=100,y=100) 

submit = Button(gui2, text = 'submit', command = submit_it) # don't call submit_it, get rid of the() 
submit.place(x=200,y=200) 

您可能还需要提交和关闭数据库后使用db.commit()db.close()保存更改。

+0

对不起,延迟回复,但我得到一个错误,说下面:OperationalError:(1136,“列计数不匹配第1行的值计数”)任何想法? –

+0

@python_beginner_coder你在'时间'里有多少列?什么是示例输入? – abccd