Python sqlite3.OperationalError: no such table:

Je suis en train de stocker des données sur les élèves à l'école. J'ai fait un peu de tables avant, par exemple pour les mots de passe et les Enseignants que je vais rassembler dans un seul programme.

J'ai assez bien copié le créer la fonction de table de l'un de ces et changé les valeurs de l'Élève de l'information. Il fonctionne très bien sur les autres programmes, mais je reçois:

sqlite3.OperationalError: no such table: PupilPremiumTable

lorsque j'essaie d'ajouter un élève à la table, il se produit sur la ligne:

cursor.execute("select MAX(RecordID) from PupilPremiumTable")

J'ai regarder dans le dossier et il y a un fichier appelé PupilPremiumTable.db et la table a déjà été créé avant, donc je ne sais pas pourquoi cela ne fonctionne pas.

Ici est une partie de mon code, si vous avez besoin de plus hésitez pas à me le dire, comme je l'ai dit, il a travaillé avant, donc je n'ai aucune idée de pourquoi cela ne fonctionne pas, ou même ce qui ne fonctionne pas:

with sqlite3.connect("PupilPremiumTable.db") as db:
    cursor = db.cursor()
    cursor.execute("select MAX(RecordID) from PupilPremiumTable")
    Value = cursor.fetchone()
    Value = str('.'.join(str(x) for x in Value))
    if Value == "None":
        Value = int(0)
    else:
        Value = int('.'.join(str(x) for x in Value))
    if Value == 'None,':
        Value = 0
    TeacherID = Value + 1
    print("This RecordID is: ",RecordID)
Avez-vous créé la table PupilPremiumTable ou pas ?
Oui le tableau a déjà été créé avant, désolé si ce n'était pas clair. C'est dans le même dossier que ce fichier python.
Notez que si vous avez un fichier nommé PupilPremiumTable.db cela ne signifie pas que vous avez une table appelée PupilPremiumTable
J'ai essayé de connecter à la fois PupilPremiumTable et PupilPremiumTable.db. Quand j'ai changé de ligne: with sqlite3.connect("PupilPremiumTable.db") as db: à with sqlite3.connect("PupilPremiumTable") as db: Il n'a pas de jeter une erreur, mais tout est resté coincé dans le même lieu et la même chose quand j'ai changé de cursor.execute("select MAX(RecordID) from PupilPremiumTable") à cursor.execute("select MAX(RecordID) from PupilPremiumTable.db")
Le code que vous avez indiqué ne pas créer une table.

OriginalL'auteur Ben | 2015-01-24