2017-09-18 4 views
0

Je viens de commencer à apprendre SQLite3 pour python aujourd'hui, et je n'arrive pas à comprendre pourquoi cela ne fonctionnera pas.Utiliser SQLite3 avec python

import sqlite3, os 

if not os.path.isfile("G:\\Python\\My first database.db"): 
    dtabse = sqlite3.connect("G:\\Python\\My first database.db") 
    cursr = dtabse.cursor() 

    cursr.execute("""CREATE TABLE Students 
    (first_name text, 
    surname text, 
    DOB text, 
    Form text) 
    """) 

    cursr.execute(""" INSERT INTO Students 
    VALUES ("Dave", "Edwards", "16", "11AB")""") 

    dtabse.commit() 
    dtabse.close() 
else: 
    dtabse = sqlite3.connect("G:\\Python\\My first database.db") 
    cursr = dtabse.cursor() 

    print(cursr.fetchall()) 

Dans un powerpoint que je regardais, il a dit que fetchall() devrait tout récupérer et l'afficher. Au premier démarrage de ce programme, il ne trouvera pas de fichier dans ce répertoire, donc la zone if sera exécutée. Quand je lance le programme, la zone else est exécutée.

Cela fonctionne beaucoup, au premier démarrage le programme se termine et commence. Au second coup, il imprime une liste vide, quand j'attendais la table. J'ai vérifié le fichier de base de données et les données sont là, alors pourquoi ne puis-je pas l'imprimer?

Répondre

2

Vous avez besoin d'une instruction SELECT pour récupérer les données souhaitées.

+0

Et cela a fonctionné, merci. – Krishi