Я новичок в Python и SQLite, но у меня есть программа, в которой я хочу, чтобы пользователь вводил количество элементов, которые они хотят заказать из таблицы базы данных. Они вводят продукты и количества, а запрос select должен возвращать элементы, которые соответствуют. Он работает, за исключением того, что он только распечатывает последнюю запись пользователя, а не все записи пользователя. Я думаю, что проблема вокруг строки выбора запроса, но я не могу понять это. Я пробовал множество вариантов, но он либо сбой, либо возвращает только последнюю запись пользователя.SQLite, Python и списки
enter code here
for i in range(orderQty):
prodItem = int(input("Enter your Item to the List: "))
userOrder.append(prodItem)
prodQty = int(input("Enter the item quantity: "))
userQty.append(prodQty)
for j in range(len(userOrder)):
cursor = connection.execute("SELECT GTINnum, Item, CurrentStock,Cost from orderFile WHERE GTINnum= ?", (prodItem,))
for row in cursor:
print ("GTINnum =", row[0], "Item = ", row[1], "Cost = ", row[2], "Qty Ordered=",(prodQty), "\n")
prodCost = prodQty * row[2]
print ("Total product cost is: ", (prodCost))
отступ еще не в порядке. Пожалуйста, используйте свой редактор, чтобы отложить свой код на 4 пробела, а затем вставить в вопрос. Делает жизнь намного проще;) – flaschbier
попробуйте 'userOrder [j]' как параметр для select вместо 'prodItem'. Аналогично для 'prodQty' дальше. Вместо этого возьмите 'userQty [j]'. – flaschbier
IDLE говорит мне, что отступом является 4 пробела? – user3717991