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

Posted

技术标签:

【中文标题】jython zxJDBC:如何从游标中获取字典?【英文标题】:jython zxJDBC: How to get a dictionary from a cursor? 【发布时间】:2011-05-31 09:00:29 【问题描述】:

我正在使用 JDBC 将我的 jython 连接到一组异构数据库。 使用游标我得到列表形式的行,和游标 也知道元数据(cursor.description)。

通常你会得到一行作为查询结果的列表:

print resultlist(4)

而且你必须事先知道架构中列的顺序。

我怎样才能得到类似的东西

print resultset[CustomerName]

打印客户姓名?

【问题讨论】:

【参考方案1】:

来自这个问题的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()

【讨论】:

哇,有需要的人。你会很失望的。但不是我。我从您的回答中学到了一些东西,所以+1。不过,在接受它之前必须对其进行测试。谢谢提醒。 哇,一个恶作剧。谢谢。

以上是关于jython zxJDBC:如何从游标中获取字典?的主要内容,如果未能解决你的问题,请参考以下文章

python 如何使用Jython的数据库连接池(Tomcat)。大多数示例代码演示了使用zxJDBC对象,但是从我能做的一切

zxjdbc调用存储过程的正确用法是啥?

如何在 Jython Evaluator 中获取 StreamSets 记录字段类型

如何从游标中获取、删除、提交

如何从游标中获取记录

如何从 sqlite 游标中获取列值?