Sto cercando di ottenere il rowcount
di un sqlite3
cursor
nel mio programma Python3k, ma io sono perplesso, come il rowcount
è sempre -1
, nonostante quello che dicono docs python3 (in realtà è contraddittorio, dovrebbe essere None
). Anche dopo aver recuperato tutte le righe, rowcount
resta -1
. È un bug sqlite3
? Ho già controllato se ci sono righe nella tabella.cursor.rowcount sempre -1 in sqlite3 in python3k
Posso aggirare questo controllo se un fetchone()
restituisce qualcosa di diverso da None
, ma ho pensato che questo problema sarebbe stato carino da discutere.
Grazie.
"in realtà è contraddittoria ..." Si prega di fornire un riferimento o un link per questo. –
http://docs.python.org/3.0/library/sqlite3.html?highlight=sqlite#sqlite3.Cursor Forse ho sbagliato, ma l'ultimo paragrafo di Cursor.rowcount dice "Questo include le istruzioni SELECT perché non possiamo determinare il numero di righe di una query prodotta fino a quando tutte le righe sono state recuperate. " Quindi ho indovinato che dopo aver recuperato witch fetchone() o fetchall() avrei ottenuto un conteggio aggiornato. grazie – Hiperi0n
Quando si utilizza il pacchetto 'mysql.connector' l'attributo rowcount è -1 dopo una chiamata .execute di un'istruzione SELECT, ma dopo la chiamata a fetchall() il numero effettivo di righe nei dati' fetch'ed è restituito. Solo un'osservazione ... – Duffau