【发布时间】:2018-12-19 21:23:32
【问题描述】:
我试图从我的 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()
【问题讨论】:
-
调用
updateStock()时的参数顺序与其定义不同。
标签: python python-3.x sqlite tkinter