Ошибка типа: можно объединить только str (не «int») в str

#python #tkinter

Вопрос:

Всем привет, добрый день.

У меня есть некоторые вопросы по этому поводу, которые заставляют меня бороться.

об ошибке, которая «может объединить только str (не «int») в str», я не знаю, как это исправить. Я знаю, что это глупый вопрос, но кто-нибудь может мне помочь?

Вот мой код :

в этом блоке кода это входные данные

 l1 = tk.Label(window, text= "ID",  font=("Bahnschrift",15))
l1.grid(column = 1, row=7)
t4 = tk.Entry(window, width=16, bd=3, bg="light blue")
t4.grid(column=2, row=7)
 

А это код для регистрации в базе данных:

регистр защиты():

 if (t1.get()==""  or t2.get()=="" or t3.get()=="" or t4.get()==""):
    messagebox.showinfo("Result","Please Complete the Provided Details!")

else:
    databases = mysql.connector.connect(
    host ="localhost",
    user = "userdata",
    password = "",
    database = "facerecog"
    )

    cursors = databases.cursor()
    cursors.execute("SELECT * from record")
    result = cursors.fetchall()

    id= t4.get() str()
    for x in result:

        id  = 1

        sql = "INSERT INTO record(ids, names,course_year,positions) values(%s ,%s ,%s , %s)"
        val = (id, t1.get(), t2.get(), t3.get())
        cursors.execute(sql,val)
        databases.commit()
 

Но это делает Ошибку, которая Показывает Это:

Файл «c:/Users/So_Low/Desktop/final_recog/Recog.py», строка 77, в регистре id = 1 Ошибка типа: можно объединить только str (не «int») в str

Не знаю, как это исправить, кто-нибудь может мне помочь?

Заранее спасибо

Вот фотография удостоверения личности, которое должно быть введено

Комментарии:

1. это приводит к тому же результату с идентификатором ошибки = 1 Ошибка типа: можно объединить только str (не «int») в str

2. id= t4.get() str() Измените на , но вам нужно обработать неверный ввод . id = int(t4.tet()) t4 Также должны ли эти строки находиться за id = 1 пределами цикла for?

Ответ №1:

заменить id= t4.get() str() на id= t4.get() . Если вам нужно использовать идентификатор где-то, где он должен быть строкой, используйте функцию str() для приведения

Ответ №2:

Ваш id должен быть а str , а не ан int :

введите описание изображения здесь

Вы можете исправить это, преобразовав id , когда вы добавляете в него:

 >>> id = "1"
>>> id = int(id)   1
>>> id
2
 

Комментарии:

1. Как я могу это исправить? id= t4.get()

2. Потому что я хочу ввести идентификатор, поэтому я поставил ID= t4.get()

3. Отредактировал мой пост с исправлением, которое может сработать.

4. ЭТО РАБОТАЕТ, КККССССС, СПАСИБО ТЕБЕ ОГРОМНОЕ, Большое СПАСИБО, БРАТ