Python虽然不是recordset.EOF,但不会.MoveNext

时间:2011-12-05 02:25:13

标签: python while-loop python-2.7 recordset win32com

我真的不明白为什么会这样。也许一双新鲜的眼睛可以提供帮助。

在访问数据库的表中,比如C:\ dbase.mdb,我有一个名为tProcedureGroups的表,其中包含两个字段ID和Description。

ID  Description  
1   DIAGNOSTIC  
2   PREVENTATIVE  
3   RESTORATIVE  

所以我的记录集应该远远超过无限... ID“\ t”+描述+“\ n” 这是我的代码......这不得不发生在那里的一些蟒蛇大师身上!

非常感谢您的帮助,本网站上的每个人都非常乐于助人。


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 :(得分:0)

在Python中,您需要使用()。

显式调用方法

所以改变:

access.MoveNext

access.MoveNext()