извлечение определенных данных из базы данных с помощью предложения where, предоставляющего значения от пользователя, для печати связанных с ним данных с использованием python - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь распечатать файлы, относящиеся к пользователю, используя имя пользователя и пароль

Я ввожу значение в поле в качестве пароля от пользователя, чем пытаюсь извлечь его данные из базы данных, используя предложение where

    #func i'm using to fetch data
    def fun():
    p=int(password.get())
    d=sign.execute("select * from login_details where Name=?",p)
    for x in d:
       print(x)


    #entry box to get the password
    password=tk.Entry()
    password.pack()

это ошибка, которую я получаю

    sqlite3.ProgrammingError: Incorrect number of bindings supplied. The 
    current statement uses 1, and there are 0 supplied.

1 Ответ

0 голосов
/ 24 октября 2018

Попробуйте:

        def fun():
            p=int(password.get())
            sign.execute('select * from login_details where Name= ?',(p,))
            all_rows = sign.fetchall()
            print(all_rows)


        #entry box to get the password
        password=tk.Entry()
        password.pack()

Вы пропустили столбец, когда передали параметр p.Кроме того, я wnet и дал еще один способ печати всех строк в таблице.

Также я заметил, что вы пытаетесь использовать предложение where для Name (которое я предполагаю является строкой), но вы передаете вцелое число?Это ошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...