Bonjour

première question qui porte sur les bons usages sur l'appel de méthode d'un autre module.
Laquelle doit être utilisée?

Première façon de faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
from module2 import *
...
methode_module2(arg)
Deuxième façon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
import module2
.....
module2.methode_module2(arg)
Ma deuxième question est par rapport à la gestion du module de connexion à la base de données.
Pour éviter de reprendre plusieurs fois une partie du code j'ai crée une methode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
def connexion():
    " Connexion à la base de données BD_GESMAT.db3 "
    conn = sqlite3.connect("BD_GESMAT.db3")
    c = conn.cursor()
Ensuite quand je fais une requête, j'ai un message d'horreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
def ajt_materiel(itemajt1, itemajt2):
    " Méthode pour ajouter du matériel dans la base de données  "
    connexion()
    c.execute("INSERT INTO MATERIEL (modele, marque) VALUES ('?', '?')", (itemajt1, itemajt2))
    conn.commit()
    conn.close()
c.execute("INSERT INTO MATERIEL (modele, marque) VALUES ('?', '?')", (itemajt1, itemajt2))
NameError: global name 'c' is not defined
comment faire pour gérer cette connexion sans devoir ajouter systématiquement les lignes de connexion à la base avant une requête ?