2017-04-10 139 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