1

Hello I am having a bit of a dumbo problem. I am trying to search a DB for an ID number. The problem I am running into in when I enter a ID number that does not exist the program crashes. I will post my code under and try to explain where I am at. I am using SQlite with Python3.

cur = con.cursor()

cur.execute("SELECT * FROM coupons WHERE id_num=:id_num",
    {"id_num": input_value})
con.commit()
row = cur.fetchone()

#Verifying that the ID exists for later in the program. 
if input_value == row[0]:
    bad_code = False

I know my programming is somewhat amateurish but I am still learning the ropes.

The error is as follows:

Traceback (most recent call last):
File "Z:/Python_Programs/data_bases/coupon_scanner_v8.py", line 217, in      <module>
verify_barcode(user_code);
 File "Z:/Python_Programs/data_bases/coupon_scanner_v8.py", line 87, in verify_barcode
startDay = row[1]
TypeError: 'NoneType' object is not subscriptable

I will continue to do research to solve this problem. Thank you!!!

1 Answer 1

1

fetchone() returns None if there are no more values to fetch from the cursor - in your case, where the id doesn't exist. So, in order to check if the id existed you should do something down these lines:

row = cur.fetchone()

# Verifying that the ID exists for later in the program. 
if row is not None:
    bad_code = False
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.