【发布时间】:2022-01-17 13:19:17
【问题描述】:
我正在尝试将 sql 结果与条目相乘,但出现此错误:
Traceback (most recent call last):
File "/usr/lib/python3.8/tkinter/__init__.py", line 1892, in __call__
return self.func(*args)
File "", line 92, in <lambda>
command=lambda:[self.surface_result(),
File "", line 189, in surface_result
row = (cursor.fetchone() * (self.coef_entry / 100))
TypeError: can't multiply sequence by non-int of type 'float'
这是我的入口代码:
self.coef_entry = (Entry(app, width = 10))
self.coef_entry.grid(row=3, column=1, sticky=W)
self.coef_entry = int()
这是我的按钮代码:
research_button = Button(app, text="Rechercher",
command=lambda:[self.surface_result(),
self.eppaisseur_moy_result(),
self.eppaisseur_hau_result(),
self.extrait_sec_moy_result(),
self.extrait_sec_bas_result(),
self.coef_melange_result()])
research_button.grid(row=4, column=0, padx=10, pady=10)
这是我得到错误的函数:
def surface_result(self):
cursor.execute("""SELECT helicopter_surface_mouille FROM Helicopter WHERE helicopter_name=%s""",(self.programme_menu_deroulant.get(),))
row = (cursor.fetchone() * (self.coef_entry / 100))
for x in row:
surface_result_label = Label(app, text=x, background = 'white', font=('arial', 12))
surface_result_label.grid(row=5, column=1, sticky=W, padx=20)
return row
我的桌子:
mycursor.execute(
"CREATE TABLE Helicopter(\
id_produitp INT NOT NULL,\
id_helicopter INT AUTO_INCREMENT PRIMARY KEY,\
helicopter_name VARCHAR(20) NOT NULL,\
helicopter_surface_mouille INT(5) NOT NULL,\
CONSTRAINT helicopter_ibfk_1 FOREIGN KEY(id_produitp)\
REFERENCES ProduitP(id_produitp)\
)"
)
如果我在没有计算的情况下运行该函数,则查询正在运行。
那么我怎样才能用这个 sql 语法来做这个计算呢?
【问题讨论】: