сталкивается с проблемой «Параметры должны быть в списке, кортеже или строке», «HY000» - PullRequest
0 голосов
/ 21 июня 2019

во время выполнения запроса python, подключающегося к SQL SERVER (2012), получить записи из БД, используя следующий код, и выдать ошибку

def find_hotels (params):

query = 'SELECT * FROM abc'
if len(params) > 0:
    filters = ["{}=%s".format(k) for k in params]

    print(filters)
    #query += " WHERE " + " and ".join(filters)
    #and="and"
    query += " WHERE " + "and"  .join(filters) 
    print(query)
    #t = tuple(params.values())
    t = tuple(params.values())

    print(t)
    print(type(t))
    conn = pyodbc.connect('Driver={SQL Server};'
                  'Server=DESKTOP;'
                  'Database=xyz;'
                  'Trusted_Connection=yes;')

    c = conn.cursor()
    c.executemany(query, t)
    return c.fetchall()
...