Python中While Not recordset.EOF不执行.MoveNext
我其实不太明白为什么会发生这种情况。也许换个角度看会有帮助。
在一个Access数据库的表里,比如C:\dbase.mdb,我有一个叫做tProcedureGroups的表,里面有两个字段,分别是ID和描述。
ID Description
1 DIAGNOSTIC
2 PREVENTATIVE
3 RESTORATIVE
所以我的记录集应该比无限大要多得多…… ID "\t" + 描述 + "\n"。这是我的代码…… 这肯定也发生在你们这些Python高手身上过!
非常感谢大家的帮助,这个网站上的每个人都超级热心。
import win32com.client
def Procedures(listed):
DB = r"C:\dbase.mdb"
engine = win32com.client.Dispatch("DAO.DBEngine.36")
db = engine.OpenDatabase(DB)
sql = "select * from [tProcedureGroups]"
access = db.OpenRecordset(sql)
while not access.EOF:
for i in listed:
print i + '\t' + str(access.Fields(i).value) + '\n'
access.MoveNext
fields = ["ID", "Description"]
get_procs = Procedures(fields)
1 个回答
0
在Python中,你需要用括号()来明确地调用方法。
所以要把:
access.MoveNext
改成:
access.MoveNext()