0

我正在尝试将 MSSQL (pyodbc) 查询的输出与看似相似的字符串元组进行比较,python 一直告诉我它们不匹配。

def test_internship_direct_app_a_submit(self):

    address_result = SQLHelper.address_result("""
    select top 2 blah, blah, blah
            """ ) 
    print address_result[0]
    print type(address_result[0])
    print address_result[0] == ('1819 Harras Blvd', '', 'Atlantic City', 'NJ', '08401')

控制台输出:(u'1819 Harras Blvd', u'', u'Atlantic City', 'NJ', u'08401')

输入“pyodbc.Row”

错误的


问题:如何操作数据库的输出,以便轻松地将其与元组中的字符串列表进行比较?提前致谢

哦,这是我用来获取数据的python代码:

def address_result(sql, param1):
cnxn = pyodbc.connect(connect_string)
cursor = cnxn.cursor()

params = (param1)
cursor.execute(sql ,params)
rows = cursor.fetchall()

addresses= []
for row in rows:
    addresses.append(row)


cursor.close()
cnxn.close()
return addresses
4

1 回答 1

2

问题是从数据库返回的对象是 pyodbc.Row 类型而不是真正的元组。

将此添加到测试脚本的末尾并获得启发:

print tuple(address_result[0]) == ('1819 Harras Blvd', '', 'Atlantic City', 'NJ', '08401')
于 2013-02-05T21:32:54.960 回答