2017-02-23 10 views
0

私は、SQLite DBのリストを更新しようとしています。ここでSQlite DBリストを新しい値で更新するにはどうすればよいですか?

は、私が使用しているコードは次のとおりです。

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

関連する問題