HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 27.04.2023, 17:48
AugustTN
Познавший АНТИЧАТ
Регистрация: 14.06.2021
Сообщений: 1,354
С нами: 2587494

Репутация: 88


По умолчанию

Заметил что появляется ошибка при повторном получение всех значений со столбца

SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 7230 and this is thread id 10394.

Подключая бд в функции - ошибок нету. Как можно это исправить адекватно?

Сама функа в main.py примерно так выглядит

Python:





Код:
def
test
(
)
:
#тут типа threading.timer(777.0,test).start()
for
t
in
database
.
get
(
)
:
send
(
t
[
0
]
)


В database.py

Python:





Код:
def
get
(
self
)
with
self
.
connection
:
result
=
#получаю все значения столбца
return
result
 
Ответить с цитированием

  #2  
Старый 27.04.2023, 21:59
x0r1x
Участник форума
Регистрация: 12.02.2022
Сообщений: 112
С нами: 2238751

Репутация: 48
По умолчанию

тебе компилятор говорит что объекты sqlite ты можешь использовать только в одном потоке
 
Ответить с цитированием

  #3  
Старый 27.04.2023, 22:05
TastyBread123
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами: 2380746

Репутация: 68


По умолчанию

Цитата:
Сообщение от Loocking  

Заметил что появляется ошибка при повторном получение всех значений со столбца
SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 7230 and this is thread id 10394.
Подключая бд в функции - ошибок нету. Как можно это исправить адекватно?
Сама функа в main.py примерно так выглядит

Python:





Код:
def
test
(
)
:
#тут типа threading.timer(777.0,test).start()
for
t
in
database
.
get
(
)
:
send
(
t
[
0
]
)


В database.py

Python:





Код:
def
get
(
self
)
with
self
.
connection
:
result
=
#получаю все значения столбца
return
result

Я всегда ставлю в sqlite3.connect(check_same_thread=False)
 
Ответить с цитированием

  #4  
Старый 27.04.2023, 22:24
x0r1x
Участник форума
Регистрация: 12.02.2022
Сообщений: 112
С нами: 2238751

Репутация: 48
По умолчанию

Цитата:
Сообщение от Vtylochka  

Я всегда ставлю в sqlite3.connect(check_same_thread=False)
проблема может быть и не в этом, он сурс не показал полностью. если бы автор данного вопроса изучал tkinter, он бы не писал сюда ничего, он бы сам всё решил
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.