pyodbc中的字符串参数



我正在重新创建以难以访问的格式存储的数据。大部分数据已成功移动和转换。这个Python脚本旨在根据旧数据库识别每个对象的父对象,并在新数据库中更新它的父对象(当前为null)。

我有:

# skip the Alpha
for x in range(2, i+1):
    on_level = 'ORG_LEVEL' + str(x)
    parent_level =  'ORG_LEVEL' + str(x-1)
    cur.execute('''SELECT ?, ?
                        FROM OsuOrgs
                        WHERE ORG_LEVEL= ? ''', 
                        [ on_level, parent_level, x ])
    for row in cur.fetchall():
        members.append( { "unv_id":str(row[0]), "parent":str(row[1]) } )
for member in members:
    print(member)

我遇到的问题是,我的member[]对象填充了乱丢的值on_laevel和parent_level。我的假设是,这与pyodbc如何通过争论有关,但我有点困惑于为什么会发生这种情况。

示例:

{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}
{'parent': 'ORG_LEVEL7', 'unv_id': 'ORG_LEVEL8'}

您可能需要更改

cur.execute('''SELECT ?, ?
                    FROM OsuOrgs
                    WHERE ORG_LEVEL= ? ''', 
                    [ on_level, parent_level, x ])

cur.execute('''SELECT {0}, {1} 
                    FROM OsuOrgs
                    WHERE ORG_LEVEL= ? '''.format(on_level, parent_level), 
                    x )

相关内容

  • 没有找到相关文章

最新更新