Я пытаюсь вставить данные из текстовых полей Kivy в базу данных sqlite3, но получаю следующую проблему. Фрагмент кода
def save(self):
conn = Database.db_connect()
cursor = conn.cursor()
# kivy textinput widgets are assigned variable no, name
no = self.empid_text_input
name = self.empname_text_input.text
try:
save_index_sql="INSERT INTO EmpInfo (EmpID , EmpName) VALUES (?,?)"
conn.execute(save_index_sql, (no, name)) # Causes Error
conn.commit()
conn.close()
except sqlite3.IntegrityError as e:
print("Error: ",e)
# THROWS ERROR ----> sqlite3.InterfaceError: Ошибка привязки параметра 0 - возможно, неподдерживаемый тип.
Файл базы данных Emp.db содержит следующие таблицы и структуру: EmpInfo & EmpImage
EmpInfo
CREATE TABLE EmpInfo (EmpID целочисленный ПЕРВИЧНЫЙ КЛЮЧ, текст EmpName NOT NULL)
EmpImage
СОЗДАТЬ ТАБЛИЦУ EmpImage (EmpID целочисленный ПЕРВИЧНЫЙ КЛЮЧ, EmpPhoto BLOB NOT NULL)
Кастинг дает следующие результаты:
# conn.execute(save_index_sql,(int(no), str(name))) # RETURNS----> TypeError: int() argument must be a string, a bytes-like object or a number, not 'TextInput'
# conn.execute(save_index_sql, (str(no), str(name))) # RETURNS----> Error: datatype mismatch