我正在尝试从sqlite3数据库中的product_qty中减去用户输入的整数,但出现此错误:
TypeError:--'int'和'builtin_function_or_method'的不受支持的操作数类型
这是给出此错误时涉及的两个功能。
def Move():
curItem = tree.focus()
print (tree.item(curItem))
contents = (tree.item(curItem))
getvalue = contents.get('values')
print(getvalue)
selecteditem = contents['values']
updateStock(id, getvalue[0])
Database()
cursor.execute("INSERT INTO `basket` VALUES(?, ?, ?, ?)", getvalue)
conn.commit()
PRODUCT_ID.set("")
PRODUCT_NAME.set("")
PRODUCT_PRICE.set("")
PRODUCT_QTY.set("")
conn.close()
def updateStock(qty, id):
t = (id,)
Database()
cursor.execute("SELECT product_qty FROM product WHERE product_id = ?", t)
old_qty = cursor.fetchone()
new_qty = 0
new_qty = int(old_qty[0]) - qty
cursor.execute("UPDATE product SET product_qty = ? WHERE product_id = ?", (new_qty, id))
conn.commit()
conn.close()
答案 0 :(得分:0)
您正在将内置的id
函数传递给updateStock
。那并不能很好地结束。我会避免使用变量的名称。您需要在Move
函数中找到一种方法来确定您感兴趣的ID。