Ich versuche, die rowcount
ein sqlite3
cursor
in meinem Python3k Programm zu erhalten, aber ich bin verwirrt, wie die rowcount
immer -1
ist, trotz allem, was Python3 docs sagen (eigentlich ist es widersprüchlich, sollte es None
sein). Auch nach dem Abrufen aller Zeilen bleibt rowcount
bei -1
. Ist es ein sqlite3
Bug? Ich habe bereits überprüft, ob Zeilen in der Tabelle sind.cursor.rowcount immer -1 in sqlite3 in python3k
Ich kann diese Überprüfung umgehen, wenn ein etwas anderes als None
zurückgibt, aber ich dachte, dieses Thema wäre schön zu diskutieren.
Danke.
"eigentlich ist es widersprüchlich ist ..." Bitte geben Sie einen Verweis oder ein Link dafür. –
http://docs.python.org/3.0/library/sqlite3.html?highlight=sqlite#sqlite3.Cursor Vielleicht habe ich es falsch gemacht, aber der letzte Absatz von Cursor.rowcount sagt "Dies beinhaltet SELECT-Anweisungen, weil wir nicht können Ermitteln Sie die Anzahl der Zeilen, die eine Abfrage erzeugt hat, bis alle Zeilen abgerufen wurden. " Ich vermutete, dass ich nach dem Abholen von fetchone() oder fetchall() einen aktualisierten Zeilenzähler erhalten würde. danke – Hiperi0n
Wenn Sie das Paket mysql.connector verwenden, ist das rowcount Attribut -1 nach einem .execute Aufruf einer SELECT-Anweisung, aber nach dem fetchall() Aufruf ist die tatsächliche Anzahl der Zeilen in den 'fetch'ed Daten ist zurückgekommen. Nur eine Beobachtung ... – Duffau