#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. ЭТО РАБОТАЕТ, КККССССС, СПАСИБО ТЕБЕ ОГРОМНОЕ, Большое СПАСИБО, БРАТ