[Python] next record in mysqldb
Paolo Amodio
dixie a dixienet.it
Lun 1 Ott 2007 18:11:50 CEST
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 a 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
dixie a dixienet.it
www.dixienet.it
Maggiori informazioni sulla lista
Python