Il giorno 01/ott/07, alle ore 17:56, Daniele Varrazzo ha scritto:
Manlio Perillo ha scritto:
Paolo Amodio ha scritto:
Buon giorno a tutti.
Una breve domanda.
Eseguita una query e ritornati i risultati ho la necessità di
avanzare, o retrocedere, di un record (i risultati popolano dei
campi in wxPython).
Attualmente e per il momento ho creato una funzione che, ricevuto
il valore attuale del record (in realtà del campo ID), effettua
una nuova query.
Il sistema mi sembra macchinoso.
Esiste qualche cosa di migliore?
Si, usare i cursori lato server.
PostgreSQL li supporta, e sembra che anche MySQL dalla versione
5.0.2 lo faccia.
http://dev.mysql.com/doc/refman/5.0/en/cursor-restrictions.html
Per quanto riguarda MySQLdb si possono avere cursori lato server
usando la classe SSCursor o altre classi derivate dal
CursorUseResultMixIn, ma questo non implementano il metodo scroll,
per cui indietro non si torna (ma non è idiota? mah...).
La classe CursorStoreResultMixIn, da cui deriva il normale Cursor,
invece implementa il metodo scroll(), che può essere usato per
tornare indietro. Ma tutto il dataset viene caricato nel client.
La documentazione a riguardo credo sia zero: occorre leggersi
"MySQLdb.cursor.py" per capirci qualcosa.
Paolo, se finora hai usato "cnn.cursor()" senza parametri, allora
hai sempre usato cursori client-side: usa cur.scroll(-1) per
tornare indietro di un record.
In PostgreSQL ci sono i named cursor per fare queste cose: non so
se scrollano all'indietro ma, considerando la sanità mentale che
caratterizza il mondo PG, immagino di sì. Credo che all'OP gliene
freghi il giusto comunque.
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
Grazie Daniele. In effetti mi ero già picchiato con quanto mi stai
dicendo ma... è vero la doc è praticamente inesistente.
Mi metto al lavoro ;-)
a presto
Paolo Amodio
[EMAIL PROTECTED]
www.dixienet.it
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python