首页 > 解决方案 > 使用 pyodbc 从数据库中检索特定值

问题描述

我正在尝试使用 Python 中的 pyodbc 从 SQL 表中获取特定值。表 dbo.passes 有 2 列:('user_name','password')with values ('test','5555')。我有以下代码:

cursor.execute("SELECT password FROM [dbo].[passes] where user_name ='test'")
for row in cursor.fetchall():
    print (row)

passw = input("enter pass ")
if passw == row: 
    print ("nice")
else:
    print ("wrong")

如果我的输入是5555它与“行”不匹配,因为它显示为('5555 ')

在这种情况下,如何从数据库中仅检索值 5555 而不是列表格式?

标签: pythonsqldatabasepyodbc

解决方案


你不能。SQL 根据设计返回元组。在 python 中访问您的列表值,如下所示:

cursor.execute("SELECT password FROM [dbo].[passes] where user_name ='test'")
for row in cursor.fetchall():
    print (row)

passw = input("enter pass ")
if passw == row['password']: # Could also be row[0], idk you have to try
    print ("nice")
else:
    print ("wrong")

推荐阅读