У меня проблемы с этим разделом кода Python, который запрашивает ввод данных пользователем, чтобы проверить, есть ли имя в базе данных. Код работает как положено и возвращает имя, если оно находится в БД. Однако он возвращает None и переходит к следующему разделу, если имя отсутствует в базе данных. Я ищу способ требовать имя, которое находится в БД. Кажется, моя обработка исключений не работает.
def getOfc(x):
name = x
try:
result = theCursor.execute("SELECT reporting_ofc FROM cases WHERE reporting_ofc IS ('{}') LIMIT 1".format(name))
for row in result:
if row[0].isalnum():
return row[0]
else:
raise ValueError
except sqlite3.OperationalError:
print("The Table Doesn't Exist")
except ValueError:
print("Couldn't Retrieve Data from Database")
x = getOfc("Name not in DB")
print(x)
db_conn.close()
Правильно возвращает имя, если в базе данных SQLite.
Возвращает None вместо вызова исключения.