Оператор Select в SQLite Python - Использование переменных в предложении WHERE - PullRequest
0 голосов
/ 27 апреля 2020

Скажем, у меня есть переменная класса restemail , в которой хранится идентификатор электронной почты, который мне нужно использовать для сортировки из оператора select в SQLite (Python). Всякий раз, когда я ссылаюсь на эту переменную после моего предложения WHERE, SQLite обрабатывает ее как столбец и возвращает ошибку о том, что такого столбца не существует. Примерно так:

  restemail=StringVar()
  Password=StringVar()

  def database(self):
      conn = sqlite3.connect('data.db')
      with conn:
            cursor=conn.cursor()
      strrest = self.restemail
      cursor.execute('SELECT * FROM Restaurant3 WHERE restemail = strrest')

Может кто-нибудь сказать мне, как использовать переменную в моих SQL запросах, не рассматривая ее как имя столбца? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 27 апреля 2020

Попробуйте синтаксис подстановки переменных sqlite3:

cursor.execute('SELECT * FROM Restaurant3 WHERE restemail = ?', (strrest,))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...