Форум сайта python.su
0
Есть БД с ФИО определенных лиц. Все это находится в отдельных столбцах. Пользователю предлогается вести сначало фамилию, потом имя, а затем очество. С этим все понятно и все работает, а вот если он знает только фамилию? Как сделать чтоб запрос игнорировал имя и очество? Чувствую, что ответ простой, но вот додуматься не могу. Вот кусочек кода. чтоб понятнее было о чем я говорю.
<p>import sqlite3
con = sqlite3.connect(“FIO.db”)
cur = con.cursor()
surname = input(“Введите фамилию: ”)
name = input(“Введите имя: ”)
lastname = input(“Введите отчество: ”)
cur.execute(“select * from data where surname=? and name=? and lastname=?”, (surname, name, lastname, ))
print(cur.fetchmany())
con.commit()
cur.close()
con.close()
input()</p>
Офлайн
72
Ну соберите запрос по частям
query = "select * from data where surname=?" params = [surname] if name: query += " and name=?" params.append(name) if lastname: query += " and lastname=?" params.append(lastname) cur.execute(sql, params)
Офлайн
0
Спасибо!!! )) Выручили!
Офлайн