连接数据库的问题

F4Y.L

当我运行这个程序时,它不会改变我数据库中的值。是因为选项部分有问题还是有其他问题?我不知道它是什么,我希望有人可以帮助我。

import sqlite3

def product_kopen(crsr):
    print ("Which product would you like to buy?")
    product = str(input(""))
    print ("And how many?")
    wanted_amount = int(input(""))
    crsr.execute("SELECT * FROM emp")
    rows = crsr.fetchall()
    for row in rows:
        if row[0] == product:
            actual_amount = int(row[1])
            fetched_amount = actual_amount - wanted_amount
    kopen = "UPDATE emp SET Amount = {amount} WHERE Product = '{name}' ".format(name=product,
                                                                                amount=fetched_amount)
    crsr.execute(kopen)
    print("You have succesfully bought your product!", "\n")


def product_verkopen(crsr):
    print ("Which product would you like to sell?")
    sold_product = str(input(""))
    print("And how many?")
    wanted_sold_amount = int(input(""))
    crsr.execute("SELECT * FROM emp")
    rows = crsr.fetchall()
    for row in rows:
        if row[0] == sold_product:
            actual_amount = int(row[1])
            fetched_amount = actual_amount + wanted_sold_amount

    kopen = "UPDATE emp SET Amount = {amount} WHERE Product = '{name}' ".format(name=sold_product,
                                                                                amount=fetched_amount)
    crsr.execute(kopen)
    print("You have succesfully sold your product")


connection = sqlite3.connect("Stock.db", timeout=10)
crsr = connection.cursor()
connection.commit()


while True:
    print("Welcome to this shop! choose your option", "\n",
          "1. Buy a product.", "\n", "2. Sell a product")
    option = int(input(""))
    if option == 1:
        product_kopen(crsr)
    elif option == 2:
        product_verkopen(crsr)
    else:
        print("This isn't a valid option", "\n")
        continue

connection.close()
罗布布里奇诺

对数据库进行更改后,您必须进行更改commit默认情况下sqlite3不会commit更改。每次你这样做时cursor.execute(...),用一个cursor.commit()

crsr.execute(kopen)
crsr.commit()

有关更多信息,请参见此处https://docs.python.org/3/library/sqlite3.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章