Запрос sqlite3 не возвращает результаты в функции - PullRequest
0 голосов
/ 19 сентября 2019

Функция, использующая sqlite3 для извлечения данных из таблицы и возврата #results на основе критериев, возвращает только ноль.Запуск функции # через Visual Studio возвращает ожидаемые результаты, но # когда я пытаюсь запустить ее из терминала, она интерпретирует таблицу # как пустой список.

import sqlite3

con = sqlite3.connect('test2.db')
cur = con.cursor()

маленькая таблица, чтобы решить проблему,Таблица выводит [('Jane', 300.0), ('Joe', 100.0), ('Joe', 50.0)]

total_bal = """SELECT name, amount FROM customers2"""

user_name = input("What is your name? ")

def account_balance(name):
    cur.execute(total_bal)
    table = cur.execute(total_bal)
    total = 0
    name = user_name
    for t in table:

        if t[0] == name:
            total += t[1]            
    return total
print(account_balance(user_name))

, ожидая возврата 150 if user_name input = 'Joe' or 300 if 'Jane'

1 Ответ

0 голосов
/ 19 сентября 2019

Вы могли бы просто сделать это с помощью своего запроса и избежать функции баланса счета все вместе.

statement = "SELECT name, account FROM customers2 WHERE name = ?;"
name = input("Enter your name: ")
cur.execute(statement, (str(name),))
results = cur.fetchone()
if results:
   print(f"Name: {results[0]}\nAccount Balance: {results[1]}"
else:
   print("Your name is not in the database")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...