[Linuxtrent] Re: problema con treeview e formattazione dei numeri
- From: Lele Gaifax <lele@xxxxxxxxxxxxxxxxxxx>
- To: linuxtrent@xxxxxxxxxxxxx
- Date: Thu, 29 Dec 2005 17:57:32 +0100
luca ha scritto:
connessione=sqlite.connect("db")
cursore=connessione.cursor()
cursore.execute("select * from test")
for y in cursore.fetchall():
connessione=sqlite.connect("db")
cursore=connessione.cursor()
cursore.execute("select * from vasca")
for a in cursore.fetchall():
> ....
Perdona, salta all'occhio: la connessione al DB è ragionevole farla una
tantum, fuori da un ciclo, e a maggior ragione fuori da due cicli
nidificati come nel tuo caso. Data la natura del DB che usi è forse poco
importante, ma il codice mostrato è, permettimi, abominevole :-) Qualora
cambiassi DB, magari usandone uno remoto, il codice qui sopra
soffrirebbe di problemi di prestazione, e di memoria...
Instanziati UNA connessione, e richiedi a quella i vari cursori che ti
servono, magari senza chiamarli tutti uguali. Io userei un tocco di
codice più simile a questo:
connessione=sqlite.connect("db")
testata=connessione.cursor()
vasche=connessione.cursor()
testata.execute("SELECT a,b,c FROM test")
for rectestata in testata:
vasche.execute("SELECT d,e,f FROM vasche")
for vasca in vasche:
print "Vasca:", vasca
connessione.commit()
Non è così evidente cosa vuoi ottenere, col codice che hai mostrato: il
loop più interno (con la variabile di loop che si chiama "a") fa
riferimento SOLO alla variabile "y", che fa capo al loop intermedio...
Hope this helps,
ciao, lele.
--
Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx
Other related posts: