Доп. функция в sql не работает
import sqlite3
try:
connection = sqlite3.connect('data.db')
cursor = connection.cursor()
except sqlite3.DatabaseError:
print('Ошибка подключения')
finally:
connection.close()
class User:
def __init__(self, name, surname, age, gender):
self.name = name
self.surname = surname
self.age = age
self.gender = gender
def create_table_user(cursor):
command = '''
CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY,
name TEXT,
surname TEXT,
age INTEGER,
gender TEXT);
'''
cursor.execute(command)
def add_user(cursor, user):
command = '''
INSERT INTO users (name, surname, age, gender) VALUES(?, ?, ?, ?);
'''
cursor.execute(command, (user.name, user.surname, user.age, user.gender))
def get_gender_people(cursor, user_gender):
command = '''
SELECT * FROM users WHERE gender = ?;
'''
result = cursor.execute(command, user_gender)
user = result.fetchall()
print(user)
if __name__ == '__main__':
with sqlite3.connect('data.db') as cursor:
create_table_user(cursor)
add_user(cursor, User(name = 'Loli', surname = 'Lolivna', age = 17, gender = 'female'))
add_user(cursor, User(name = 'Zhenya', surname = 'Saifulina', age = 16, gender = 'female'))
add_user(cursor, User(name = 'Kirill', surname = 'Boyov', age = 19, gender = 'male'))
get_gender_people(cursor, 'male')
get_users_list(cursor)
Добрый день, у меня тут возникла одна проблемка. Я не могу понять в чем дело с кодом, а именно с функцией вытягивания людей по гендеру. Мол если я заменю gender на id, то он спокойно выведет мне о них информацию, однако, меняя id на gender/age и т.п, программа сразу выдает ошибку, что не хватает привязок. Подскажите, пожалуйста, как мне это исправить
Источник: Stack Overflow на русском