0

游标执行 SELECT 与变量“s”匹配,但循环“for”使用“s”不起作用(不打印任何内容),但是,它与游标直接执行 SELECT 一起工作。问题是什么?“s”与游标执行SELECT不是同一个对象吗?

编程例程如下:

>>>import sqlite3
>>>con=sqlite3.connect('prueba.db')
>>>cur=con.cursor()
>>>cur.execute('''CREATE TABLE tabla1(ExtremoA text,ExtremoZ text,PotenciaRxA real,PotenciaTxA real,PotenciaRxZ real,PotenciaTxZ real,SpanLossAZ real,SpanLossZA real)''')
print "Tabla1 creada exitosamente"
>>>registros=[('Quillota','San felipe',-9,4,-11,3,15,12),('San Felipe','Las Cuevas',-10,2,-12,6,16,14)]
>>>sql='''INSERT INTO tabla1(ExtremoA,ExtremoZ,PotenciaRxA,PotenciaTxA,PotenciaRxZ,PotenciaTxZ,SpanLossAZ,SpanLossZA)VALUES(?,?,?,?,?,?,?,?)'''
>>>cur.executemany(sql,registros)
>>>con.commit()
>>>print "registros creados exitosamente"
>>>s=cur.execute('''SELECT * FROM tabla1''')   
>>>todo=cur.fetchall()
>>>print todo
>>>for i in s:
    print i
>>>cur.close()
>>>con.close()
4

1 回答 1

1

todo=cur.fetchall()您已经将行检索到todo,所以无论如何都没有什么可以迭代的了。所以循环todo而不是s......否则,摆脱那条线并循环cur......

于 2013-09-16T17:52:03.120 回答