You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 22:55:01