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

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

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

print resultlist(4)

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

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

print resultset[CustomerName]

打印客户姓名?

【问题讨论】:

    标签: jdbc jython


    【解决方案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。不过,在接受它之前必须对其进行测试。谢谢提醒。
    • 哇,一个恶作剧。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多