如何在tkinter中添加和显示aggerate sql函数



我想制作一个在tkinter中显示的aggerate sql函数

我有一个产品表,我想使用aggerate sql函数来显示总价的AVG。

到目前为止我所做的:

Button(self.root,
text="Average",
command=self.avgprice).place(x=750,y=470,width=250,height=28)

这是保存aggerate sql:的函数

def avgprice(self):
with sqlite3.connect("Stock_Control.db") as db:
cursor = db.cursor()
cursor.execute("SELECT AVG(Total) FROM Product")
stock = cursor.fetchall()
totalstock = 0
messagebox.showinfo("Average Price",self.avgprice,parent=self.root)
for stock in stock:
totalstock += stock[0]
return totalstock

我得到这个错误:

弹出窗口没有弹出平均价格,但这个随机数字

我认为这可能是一个很快就能解决的问题,但我不确定。

您显示self.avgprice,它是对函数def avgpric(self)
的引用,但您需要totalstock-并且必须在for-循环之后执行。

totalstock = 0
for stock in stock:
totalstock += stock[0]
messagebox.showinfo("Average Price", totalstock, parent=self.root)

Button不能从函数中得到结果,所以return totalstock是无用的。


但我会写得更简单(如果我以正确的方式获取结果(

def avgprice(self):
with sqlite3.connect("Stock_Control.db") as db:
cursor = db.cursor()
cursor.execute("SELECT AVG(Total) FROM Product")

average = cursor.fetchone()[0]
messagebox.showinfo("Average Price", average, parent=self.root)

相关内容

  • 没有找到相关文章

最新更新