Python Как использовать переменные в SQL - PullRequest
0 голосов
/ 28 января 2019

У меня есть база данных:

datas.db ---> таблица bk

  • Id - автономный номер
  • Имя - строка
  • Число - числовой
  • Таймер - строка

код Python

self.db = sqlite3.connect("library.db")
self.cur = self.db.cursor()

search_name = self.lineEdit_1.text()
name = self.lineEdit_2.text()
number_age = self.lineEdit_3.text()
description = self.lineEdit_4.text()

self.cur.execute("UPDATE bk SET (Name ='?',Number =?, Timer ='?') WHERE Name ='?'",(name,number_age,description,search_name))
self.db.commit()

Теперь я получаю синтаксическую ошибку, я видел, что они используют это

"Name ='%s'"%name)

Но я незнать, как использовать его, когда у меня есть несколько переменных

1 Ответ

0 голосов
/ 28 января 2019

Согласно SQLLite Docs ваш код должен выглядеть следующим образом.

Ваш запрос неправильный, измените значение с

UPDATE bk SET (Name ='?',Number =?, Timer ='?') WHERE Name ='?'

на

UPDATE bk SET Name=?, Number=?, Timer=? WHERE Name=?
self.db = sqlite3.connect("library.db")
self.cur = self.db.cursor()

search_name = self.lineEdit_1.text()
name = self.lineEdit_2.text()
number_age = self.lineEdit_3.text()
description = self.lineEdit_4.text()

self.cur.execute("UPDATE bk SET Name=?, Number=?, Timer=? WHERE Name =?",(name, number_age, description, search_name))
self.db.commit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...