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

Reply via email to