⇨ MENU ⇨ MODULES ⇨ sqlite3 ⇨ Row
sqlite3.Row ( ).keys ( )
DESCRIPTION.
Retourne le nom des champs d'une table dans une list ( ).
SYNTAXE.
LST_Noms = resultat.keys ( )
LST_Noms = ⇨ variable qui recevra la valeur [ optionnel ]
resultat ⇨ résultats de la dernière requête [ OBLIGATOIRE ]
.keys ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
REMARQUES.
L'appel de la méthode curseur.Row ( ).keys ( ) retourne une list ( ) où les éléments sont des str ( ) indiquant le noms des champs, colonnes, de la table utilisée dans la dernière requête SQL.
La méthode curseur.fetchone ( ) permet de récupérer l'enregistrement suivant dans la pile des résultats,. Si la pile des résultats est vide, la méthode curseur.fetchone ( ) retourne une None,
Pour connaitre les entêtes des colonnes, ou noms des champs, il faut associer à l'attribut curseur.row_factory l'objet-ligne : sqlite3.Row. Les enregistrements retournées par le méthodes curseur.fetchall ( ), curseur.fetchone ( ) et curseur.fetchmany ( ), ne seront plus des tuple ( ) avec la valeurs du champs des objets-ligne.
EXEMPLE.
import sqlite3
BDD_Test = sqlite3.connect ( "ON - sgbd 01.db" )
CUR_Test = BDD_Test.cursor ( )
CUR_Standard = BDD_Test.cursor ( )
CUR_Modifie = BDD_Test.cursor ( )
CUR_Complet = BDD_Test.cursor ( )
CUR_Modifie.row_factory = sqlite3.Row
CUR_Complet.row_factory = sqlite3.Row
CUR_Standard.execute ( " CREATE TABLE IF NOT EXISTS LesPrix ( Id integer primary key autoincrement unique , Article text not null , PrixHT real , Taux real ) " )
karticles = [ ( "Robe de soirée" , 119.99 , 20.3 ) , ( "Escarpins blancs" , 79.99 , 17.25 ) , ( "Etole satin" , 189.99 , 33.33 ) ]
CUR_Standard.executemany ( " INSERT INTO LesPrix ( Article , PrixHT , Taux ) VALUES ( ? , ? , ? ) " , karticles )
BDD_Test.commit ( )
print ( "Avec le retour standard dans des tuple ( )" )
CUR_Standard.execute ( " SELECT * FROM LesPrix " )
kligne = CUR_Standard.fetchone ( )
print ( type ( kligne ) )
print ( kligne )
print ( )
print ( "Avec le retour modifié pour obtenir des objets-lignes" )
CUR_Modifie.execute ( " SELECT * FROM LesPrix " )
kligne = CUR_Modifie.fetchone ( )
print ( type ( kligne ) )
print ( kligne )
print ( kligne.keys ( ) )
print ( kligne.keys ( ) [ 1 ] )
print ( kligne [ "Article" ] )
print ( )
for kintitule in kligne.keys ( ) :
print ( "Le champ" , kintitule , "a pour valeur" , kligne [ kintitule ] )
print ( )
print ( "Récupération de tous les enregistrement dans des objets_lignes" )
CUR_Complet.execute ( " SELECT * FROM LesPrix " )
klignes = CUR_Complet.fetchall ( )
for kligne in klignes :
print ( "\nEnregistrement : " , kligne )
for kintitule in kligne.keys ( ) :
print ( "Le champ" , kintitule , "a pour valeur" , kligne [ kintitule ] )
BDD_Test.close ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.