с использованием sqlite3 и kivy - PullRequest
       13

с использованием sqlite3 и kivy

1 голос
/ 04 августа 2020
conn = sqlite3.connect('business_database.db')
c = conn.cursor()

c.execute("INSERT INTO business VALUES(self.nob_text_input.text, self.post_text_input.text, self.descrip_text_input.text )")

conn.commit()
conn.close()

Я хочу добавить записи в свою базу данных, используя TextInput в kivy, следовательно, 'self.post_text_input.text' и c, но я получаю эту ошибку:

OperationalError: no such column: self.nob_text_input.text
  

Я пробовал помещая столбцы рядом с именем таблицы в запросе:

c.execute("INSERT INTO business(column1, column2,column3) VALUES(self.nob_text_input.text....)

Но я все равно получаю ту же ошибку.

1 Ответ

1 голос
/ 05 августа 2020

Превращаю мой комментарий в более подробный ответ.

Если вы пытаетесь использовать значения переменных (self.nob_text_input.text и других) в строке, вам необходимо вставьте эти значения в строку.

Один из способов - использовать строку формата:

"INSERT INTO business VALUES(%s, %s, %s)" % (self.nob_text_input.text, self.post_text_input.text, self.descrip_text_input.text)

А другой - просто объединить строки:

"INSERT INTO business VALUES(" + self.nob_text_input.text + ", " + self.post_text_input.text + ", " + self.descrip_text_input.text + ")"
...