2017-02-23 133 views
0

我想在調用股票價值並將其減少一個之後更新SQLite數據庫中的列表?如何使用新值更新SQlite數據庫列表?

這裏是我使用的代碼:

ComicID = int(input("Enter Comic ID: ")) 
    with sqlite3.connect("Chris_comics.db") as db: 
     if ComicID == 111: 
      cursor.execute("""select Value from Comics where ComicID=?""",(ComicID,)) 
      result1=cursor.fetchone() 
      result1= repr(result1).replace(',','').replace('(', '').replace(')', '') 
      print(result1) 
      Grandtotal = Grandtotal + int(result1) 
      cursor.execute("""select Stock from Comics where ComicID=?""",(ComicID,)) 
      StockUpdate = cursor.fetchone() 
      StockUpdate = repr(StockUpdate).replace(',','').replace('(', '').replace(')', '') 
      StockUpdate = int(StockUpdate) - 1 
      print(StockUpdate) 
      ##check cursor.execute for updating stock 
      cursor.execute = "update Comics set Stock={0} where ComicID=?" .format(StockUpdate) 

這似乎並沒有工作。

回答

0

documentation說:

提交()
此方法提交當前事務。如果您不調用此方法,則自從上次調用commit()以來所做的任何操作都不可見於其他數據庫連接。如果您想知道爲什麼您沒有看到您寫入數據庫的數據,請檢查您是否忘記調用此方法。

+0

所以我需要在代碼的最後一行後添加'commit()'? – Chris