2014-02-18 85 views
0

我試圖編寫一個管理SQLite3數據庫的Python(2)腳本。我無法從表中獲取所有行並循環訪問它們。我的表有218行(根據PHP和sqlite3.exe),但Python只循環通過8.Python2 + SQLite不返回所有行

import sqlite3 as sql 

db = sql.connect('database.db') 
c = db.cursor() 
n = 0 

for row in c.execute('select * from table'): 
    n += 1 

print n 

我在做什麼錯?是否需要採取額外的步驟讓Python遍歷所有行?

+0

其中八個記錄通過循環? (在循環中打印出一些值) –

+0

記錄似乎是從數據庫中隨機選擇的 - 它們不是按字母順序排列或按照SELECT * FROM表格的結果在sqlite3.exe – DoctorSelar

回答

1

我做這樣的事情:

conn  = sqlite3.connect(filename) 
cursor = conn.cursor() 
cursor.execute('SELECT * from tablename') 
results = cursor.fetchall() 
print '\nindividual records' 
for result in results: 
    print result 
+0

這對我而言很有效。謝謝! – DoctorSelar