我的目标是阅读现在记录中的一堆行。如果任何记录的第二列(行[1])在此示例中等于133,则打印出第一列和第二列。
我遇到了这个问题:
第11行 - 否则:问题
import sqlite3
conn = sqlite3.connect('db.sqlite')
print "Opened database successfully";
cur = conn.execute("SELECT * FROM sightings")
row = cur.fetchone()
while row is not None:
if row[1] == 133:
print row[0], row[1]
else:
row = cur.fetchone():
cur.close()
conn.close()
答案 0 :(得分:1)
在您不需要
的语句末尾有一个额外的冒号if row[1] == 133:
print row[0], row[1]
else:
row = cur.fetchone(): <----
应该是..
if row[1] == 133:
print row[0], row[1]
else:
row = cur.fetchone()
答案 1 :(得分:-1)
我已经设法在你们的帮助下解决了这个问题。谢谢!
import sqlite3
conn = sqlite3.connect('db.sqlite')
print "Opened database successfully";
cur = conn.execute("SELECT * FROM sightings WHERE column = 133")
row = cur.fetchone()
while row is not None:
print row[0], row[1], row[2], row[3], row[4], row[5], row[6]
row = cur.fetchone()
cur.close()
conn.close()