Python Sqlite3 - Daten werden nicht dauerhaft gespeichert

Ich mache etwas falsch mit SQLite3 undPython 3. Vielleicht habe ich das Konzept der SQLite-Datenbanken falsch verstanden, aber ich gehe davon aus, dass die Daten auch nach dem Schließen der Anwendung in der Datenbank gespeichert werden. Wenn ich Daten einfüge und die Anwendung erneut öffne, sind die Einfügungen weg, die Datenbank ist leer.

Hier ist meine kleine DB:

import sqlite3

def createTable():
    conn.execute('''CREATE TABLE VideoFile
           (ID INTEGER PRIMARY KEY NULL,
           FileName           TEXT    NOT NULL,
           FilePath           TEXT    NOT NULL,
           numOfFrames            INT     NOT NULL,
           FPS            INT     NOT NULL,
           Tags           TEXT    NOT NULL,
           Voting         REAL);''')


def insert():
    conn.execute("INSERT INTO VideoFile (Filename, FilePath, numOfFrames,FPS, Tags, Voting) \
                              VALUES ('ARCAM_0010_100', 'Categories/Dirt/Small', 2340, 50, 'Bock', 1 )");
    conn.execute("INSERT INTO VideoFile (Filename, FilePath, numOfFrames,FPS, Tags, Voting) \
                              VALUES ('ARCAM_0010_100', 'Categories/Dirt/Small', 2340, 50, 'Bock', 1 )");

def printAll(cursor):   
    cursor = conn.execute("SELECT ID, FileName, FilePath, numOfFrames  from VideoFile")
    for row in cursor:
       print("ID = ", row[0])
       print("FileName = ", row[1])
       print("FilePath = ", row[2])
       print("numOfFrames = ", row[3], "\n")

    print("Operation done successfully")
    conn.close()


conn = sqlite3.connect('AssetBrowser.db')
createTable()

#comment out after executing once
insert()
printAll()

Wo mache ich was falsch?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage