全局名称'row'未定义

0 投票
1 回答
5489 浏览
提问于 2025-04-17 16:41

这是我的代码...我遇到了这个问题:

    .format(table_name=self._table, condition=row['where']))
NameError: global name 'row' is not defined

代码:

def retrieveSmCityCust(self, key):
    cursor = self._db.execute('SELECT CONTRACTS.CUSTOMER_NAME, CONTRACTS.CUSTOMER.CITY, CITIES.POPULATION FROM CONTRACTS JOIN CITIES ON CONTRACTS.CUSTOMER_CITY = CITIES.IDENT where {condition}'.format(table_name=self._table, condition=row['where']))
    return dict(cursor.fetchall())

db = database(filename = 'insurance.sqlite')

db.retrieveSmCityCust({'where': 'CITIES.POPULATION <=500000'})
    for row in db:
        print(row)

有什么想法吗?

1 个回答

1

你把函数里的参数叫做 key,而不是 row。你可以用 key['where'] 来代替,或者把这个参数的名字改成 row

撰写回答