jython zxJDBC:如何从游标中获取字典?

问题描述

| 我正在使用JDBC将jython连接到一组异构数据库。 使用游标,我得到列表形式的行,并且游标 还知道元数据(cursor.description)。 通常,作为查询结果,您会得到一行作为列表:
print resultlist(4)
而且您必须事先知道架构中列的顺序。 我怎么能得到像
print resultset[CustomerName]
打印客户名称?     

解决方法

        这个问题的
dict_cursor
怎么样:Django Backend-neutral DictCursor? 对我有用的概述(Jython 2.5.2):
def dict_cursor(cursor):
    description = [x[0] for x in cursor.description]
    for row in cursor:
        yield dict(zip(description,row))

conn = zxJDBC.connect(db,user,pwd,driver)
cursor = conn.cursor()

query = \"...\"
cursor.execute(query)

dc = dict_cursor(cursor)
for d in dc:
    print d[\"SomeColumnName\"]
    ...

cursor.close()
conn.close()