python比较数据库结果与字符串

时间:2013-02-05 21:19:14

标签: python sql

我试图将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')

控制台输出: (你&#39; 1819 Harras Blvd&#39;,你&#39;,你&#39;大西洋城&#39;,&#39; NJ&#39;,u&#39; 08401&#39;)< / p>

键入&#39; pyodbc.Row&#39;


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

哦,这是我用来获取数据的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

1 个答案:

答案 0 :(得分:2)

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

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

print tuple(address_result[0]) == ('1819 Harras Blvd', '', 'Atlantic City', 'NJ', '08401')