#!/opt/rh/rh-python38/root/usr/bin/python3.8 import sqlite3 #import sys #asetetaan samalla autocommit-moodi päälle (isolation_level=none) try: con = sqlite3.connect( 'video.db', isolation_level=None) con.row_factory = sqlite3.Row con.execute("PRAGMA foreign_keys = ON;") cur = con.cursor() video = "Hannibal" video2 = "Traffic" cur.execute(""" SELECT nimi, julkaisuvuosi FROM elokuva WHERE nimi = ? OR nimi = ? """, (video,video2)) for row in cur.fetchall(): print(row["nimi"], row["julkaisuvuosi"]) cur.execute(""" SELECT nimi, julkaisuvuosi FROM elokuva WHERE nimi = :v1 OR nimi = :v2 """, {"v1": video, "v2": video2}) row = cur.fetchone() print(row["nimi"], row["julkaisuvuosi"]) virhe = 0 cur.execute("BEGIN") try: cur.execute(""" insert into lajityyppi (lajityyppiid,tyypinnimi) values (:id, :nimi) """, {"id": 17, "nimi": "testi4"}) cur.execute(""" insert into lajityyppi (lajityyppiid,tyypinnimi) values (:id, :nimi) """, {"id": 19, "nimi": "testi4"}) except: virhe = virhe + 1 if virhe: con.rollback() else: con.commit() except sqlite3.Error: print("tietokantavirhe: %s" % sys.exc_info()[0]) finally: con.close()