2017-06-20 5 views
0

iveはさまざまなメソッドを試しましたが、オブジェクトが返され続けます。COUNTを使用してsqlite3のテーブルの行数を調べる

import sqlite3 

connection = sqlite3.connect('films.db') 
cur = connection.cursor() 

def createTable(): 

    connection.execute('CREATE TABLE IF NOT EXISTS FILMS(TITLE TEXT NOT NULL , YEAR INT NOT NULL,RATING INT NOT NULL,unique(TITLE))') 
    connection.execute('INSERT OR IGNORE INTO FILMS VALUES(? , ? , ?)',('Middle Men','2010','6.6')) 
    connection.execute("SELECT * FROM FILMS") 

    row_count = cur.execute("SELECT Count(*) FROM FILMS") 
    print(row_count) 

    cur.close() 
    connection.commit() 
createTable() 

私は、カウントを印刷するとき、私はこのカーソルオブジェクトが返さ得続ける:0x027CE820 で sqlite3.Cursorオブジェクトは、この理由はありますか?私の構文は間違っていますか?

+0

を行うことができますが、列として例を何かをカウントする必要があります。https://www.techonthenet.com/sqlite/functions/count.php –

答えて

0

オブジェクト全体をフェッチしています。代わりに:

row_count = cur.execute("SELECT Count(*) FROM FILMS") 

の操作を行います。

cur.execute("SELECT Count(*) FROM FILMS") 
row_count = cur.fetchone() 
print(row_count) 

これはこれで、カウントを持つ行を取得します。あなたが複数の行を持っていた選択をしていた場合、あなたは

cur.fetchall() 
+0

または1ライナー:cur.execute( "SELECT Count(*)from FILMS")。fetchone() – mkingsbu

+1

ありがとう、本当にありがとう:) – Noob

関連する問題