python-3.x - 如何将选择值传递给 SQLite 数据库?
问题描述
我正在向 tKinter GUI 窗口提供一些数据,并期望它在单击提交按钮时存储在 SQLite 数据库中,并且 GUI 在窗口中显示表记录,但它似乎没有将值传递给 db。
我几乎完成了代码,但值没有通过。我已经分享了代码的问题部分以供参考。
这是我的代码
#Date & Month selection
Month_list = ['Jan','Feb','Mar','April','May','June','Jul','Aug','Sep','Oct','Nov','Dec']
Date_list = list(range(1,32))
year_list = list(range(2019,2031))
dt_mn_yr=StringVar()
Jirano=StringVar()
Time=StringVar()
Remark=StringVar()
def drop_down(list_name,set_name,grow,gcolumn):
"""Function will show drop down selection"""
c=StringVar()
droplist=OptionMenu(window,c, *list_name)
droplist.config(width=5)
c.set(set_name)
droplist.grid(row=grow,column=gcolumn)
return c
def Database():
"""Connect to DB,Insert & Read the records"""
d= dt.get()
m= mn.get()
y = yr.get()
Date = str(d)+"-"+str(m)+"-"+str(y)
jira_no = Jirano.get()
time_mins = Time.get()
remark = Remark.get()
#Result Display window
display_windows = Label(window,text="" ,font=("Arial Bold", 10))
display_windows.grid(row=900,column=20)
try:
conn = sqlite3.connect("AutomationDB.db")
except:
return "DB connection error"
#Creating table
conn.execute("CREATE TABLE IF NOT EXISTS TimeTrackerTable (Date TEXT,Jirano TEXT,Time TEXT,Remark TEXT)")
#Inerting records
conn.execute("INSERT INTO TimeTrackerTable (Date,Jirano,Time,Remark) VALUES (?,?,?,?)",(Date,jira_no,time_mins,remark))
conn.commit()
#Reading the records
cursor= conn.execute("select * from TimeTrackerTable")
for i in cursor:
display_windows.configure(text=i)
conn.close()
dt=drop_down(Date_list,'Date',400,20)
mn=drop_down(Month_list,'Month',400,21)
yr=drop_down(year_list,'Year',400,22)
#dt_mn_yr = dt+"-"+mn+"-"+yr
#dt_mn_yr = str(dt_mn_yr)
#Input JIRA number
jira_no = Entry(window,width = 15,textvar=Jirano)
jira_no.grid(row=450,column =20 )
jira_no = str(jira_no)
#Input Time
time_mins = Entry(window,width = 15,textvar=Time)
time_mins.grid(row=500,column =20)
time_mins = str(time_mins)
#Input Remark
remark = Entry(window,width = 30,textvar=Remark)
remark.grid(row=550,column =20)
remark = str(remark)
#Submit button
Button(window, text='Submit',width=15,bg='brown',fg='white',COMMAND = Database()).grid(row=750,column=20)
window.mainloop()
当前我没有使用显示当前的选择值。我的要求是在提交按钮后查看数据库选择查询结果。有什么建议吗?
解决方案
推荐阅读
- reactjs - 我以相同的方式安装了多个库,并且 React 正在注册除一个之外的所有库。为什么它找不到这个特定的模块?
- vba - VBA - 通过多列重复电子邮件功能
- c# - UWP NavigationView - 使用 VisualStudio GUI 添加菜单项
- python - 基于用户输入的菱形
- c++ - 是否有一个 Qt 小部件看起来像一个标签来显示文本,但如果双击也可以编辑?
- python - Python程序仍在运行但找不到PID
- vba - 将 Access 表导出到 Excel 错误
- php - 在 PHP 中显示生成的 PNG?
- javascript - FileReader.readAsText 的参数 1 不是对象
- amazon-web-services - 亚马逊产品广告 API 搜索错误 - 'itemsearcherrorresponse' 没有其他错误信息