TypeError:不支持“int”和“builtin”函数“u”或“u method”的操作数类型

2024-10-05 14:27:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从sqlite3数据库的product_qty中减去一个用户输入的整数,但得到以下错误:

TypeError:不支持-:“int”和“builtin”函数“u”或“u 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()

Tags: idtreenewexecute错误contentsproductconn