Since you only fetch one record from the result, records
is a tuple of column values. Then you use for record in records:
, it means record
is a column value that may be an integer. So using record[0]
will raise the mentioned exception.
Actually you don't need the for loop at all:
c.execute("SELECT name, price FROM products WHERE id=02")
record = c.fetchone()
# check whether record exists
if record:
print_products = 'Name:' + str(record[0]) + '
' + 'Price: £' + str(record[1])
query_label = Label(frame, fg='darkblue', bg='darkgray', text=print_products)
query_label.pack()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…