Python2.5 et sqlite3

cs_Mic92 Messages postés 15 Date d'inscription lundi 11 octobre 2004 Statut Membre Dernière intervention 2 septembre 2010 - 9 juil. 2010 à 16:38
lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 - 13 juil. 2010 à 22:31
Bonjour à tous
Bonjour à tous,
j'ai une fenêtre de saisies avec Tkinter ( nom, prénom, date etc...)
Je veux enregistrer cette "Base" avec Sqlite3. Mes saisies sont en mémoire (Nom, Prénom,Date, etc...)
J'ai trouvé des infos :

import sqlite3
import os
database_name = "essaidb.db"
if not os.path.isfile(database_name):
print "database est crée "
db_connection = sqlite3.connect(database_name)
cur = db_connection.cursor()
#cur.execute("CREATE TABLE IF NOT EXISTS clients (id INT, text TEXT)") # Création d'une table
cur.execute("CREATE TABLE IF NOT EXISTS clients ( id integer, NOM varchar, AGE integer)") # Création d'une table
cur.execute ("insert into clients(id, NOM, AGE) values (0, 'Mac', 50)")
cur.execute ("insert into clients(id, NOM, AGE) values (1, 'Mic', 51)")
db_connection.commit()
db_connection.close()
Ca fonctionne, mais c'est moi qui entre les valeurs, je n'arrive pas à touver la syntaxe pour enregistrer mes variables.Ni la liste des fonctions qui permettent la gestion de cette base( insertion, recherche, etc).
Et apparemment le format date n'est pas pris en charge, il faut le transformer en string?

Je sais pas si je suis clair?
Mic92

1 réponse

lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 77
13 juil. 2010 à 22:31
Bonsoir,

Je ne sais pas si je réponds à la question, mais voici quelques pistes pour Insertion et Recherche dans une table Sqlite

1)L'aide de python contient des informations sur sqlite

2)Insertion de masse
Si la liste "lst_Insert" contient les éléments à insérer:
try:
    cur.executemany("INSERT INTO Musique VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", lst_Insert)
    db.commit()
    print "INSERT TABLE Musique OK", "\n"

except sqlite3.Error, e: 
print "erreur INSERT table Musique",e.args[0], "\n"

Il y a autant de "?" qu'il y a d'éléments dans la structure de la liste
Le type des éléments de la liste doit correspondre au type des champs de la table

3)Recherche/Select
try:
    cur.execute("SELECT ch1, ch2 FROM TABLE WHERE ch1 > 1")
    print "OK - SELECT TABLE "

except sqlite3.Error, e: 
print "\tNot OK - erreur SELECT TABLE ",e.args[0]

#Récupération de la requete Select dans une liste
lst_cur = []

for row in cur:
    lst_cur.append([row[0],row[1]])


4)Format Date
Voir ici
Le champ de la table doit être de type "double"

Cordialement
0
Rejoignez-nous