Пересоздайте-ка database.db.
Что-то мне подсказывает, что у вас там старая структура, где только один столбец.
И да, не помешает создать ещё столбец для PRIMARY KEY.
. Как это можно исправить не выделяя отдельный поток
Никак. У вас программа выполняется в одном GUI-потоке, поэтому и виснет.
Обычно программу делят на GUI и обработчики в разных потоках как раз для того, чтобы она не висла.
Не надо.
Лучше останавливаться на них отдельно, добиваясь полной ясности в вопросе, пока все тёмные места не осветятся ярким светом Познания.
А то будете строить дом, где не будет половины кирпичей.