创建UI时遇NameError:productName_input未定义的问题求助
问题分析与解决
1. 输入变量未定义的根本原因
你在clear_inputs函数中调用了productName_input、productPrice_input等变量,但代码里完全没有创建这些输入控件并赋值给对应变量——这和数据库表无关,是UI控件缺失导致的错误。
解决方法:在定义clear_inputs函数前,先创建对应的输入框控件并赋值给这些变量,示例代码如下:
# 创建输入字段控件并赋值给变量 productName_input = tk.CTkEntry(window, placeholder_text="产品名称") productName_input.pack(pady=5) # 用pack/grid/place布局显示控件 productPrice_input = tk.CTkEntry(window, placeholder_text="产品价格") productPrice_input.pack(pady=5) unitsSold_input = tk.CTkEntry(window, placeholder_text="销售数量") unitsSold_input.pack(pady=5) salesDate_input = tk.CTkEntry(window, placeholder_text="销售日期") salesDate_input.pack(pady=5) # 之后再定义clear_inputs函数 def clear_inputs(): productName_input.delete(0, tk.END) productPrice_input.delete(0, tk.END) unitsSold_input.delete(0, tk.END) salesDate_input.delete(0, tk.END)
2. 数据库创建语句的语法错误
你的第一个CREATE TABLE语句存在语法错误:productName VARCHAR(45)后面用了.,应该替换为逗号,来分隔字段。修正后的代码:
cursor.execute("CREATE TABLE hhuschka_products(productID INT AUTO_INCREMENT PRIMARY KEY, productName VARCHAR(45), productPrice DECIMAL(8,2))")
内容的提问来源于stack exchange,提问作者Haley
相关产品推荐
相关产品推荐

